Mac下php集成环境MxSrvs使用说明

搞php还是五年前了,那会儿还是在windows系统下,用phpstudy等。最近重新搞php,用Mac发现很多集成环境并不好用,phpstudy没有Mac版本,xampp虽然免费但是很不好用,版本切换很麻烦。MAMP下载下来有Pro和普通两个版本。Pro是付费的,注册码$99。普通版和Pro使用差异还是挺大的。试用了两周MAMP Pro,还挺好用的,只可惜太贵。如果用网上的破解版,需要关闭Mac的SIP,对安全性和稳定性也有一定影响,所以还是放弃了。最后换到了MxSrvs,初步使用还是挺好用的。

从作者的官方网址下载:http://www.xsrvs.com/index.html

下载完成后,双击运行pkg文件安装,默认安装在/Applications/MxSrvs,安装完成后在命令行中执行如下命令,不然会一直提示组件未受信任,或者通过系统偏好设置--安全性与隐私来打开

sudo xattr -r -d com.apple.quarantine /Applications/MxSrvs

MxSrvs软件默认是php7,在代码审计过程中经常需要安装多版本的php。但是从官方网站下载的php安装包放到/Applications/MxSrvs/bin目录下会报错,解决方案可以参考: https://blog.csdn.net/Smell_rookie/article/details/107742458

MxSrvs文件夹结构如下

bin
cache
libs
logs
tmp
www

在MxSrvs官方提供的下载地址中挑选需要的版本:https://590m.com/dir/13710799-25972793-4937e8

例如php文件夹下有php5.6.31php5.5.38等,mysql文件夹下有mysql5.6.37mysql5.5.53等。然后放入到/Applications/MxSrvs/bin目录下

但是换成低版本的php后,例如换成了php5.6.31,无法访问phpmyadmin,报错:PHP 7.1.3+ is required。根据选择的php版本找到合适的phpmyadmin版本(例如此处对应的是phpmyadmin4.9),然后下载对应的文件,解压到www目录下,重命名为_phpMyAdmin文件夹。但是访问phpMyAdmin的登陆界面时,输入用户名密码会报错php - mysqli_real_connect(): (HY000/2002): No such file or directory

此时找到_phpMyAdmin文件夹下的config.sample.inc.php文件,找到Server Parameters部分,加入并修改成如下内容。可以用空密码访问。然后将config.sample.inc.php文件重命名为config.inc.php,重启服务器生效。解决方案参考:https://stackoverflow.com/questions/41881123/mysqli-real-connect-hy000-2002-no-such-file-or-directory

/* Server parameters */
$cfg['Servers'][$i]['user'] = 'root';
$cfg['Servers'][$i]['password'] = '123456';
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = true;

MxSrvs+phpstorm调试

进入MxSrvs的配置编辑界面,选择PHP的php.ini,搜索xdebug,在其中加入xdebug.remote_port=9000(此端口号需要与phpstorm中一致),然后重新启动PHP

[xdebug]
zend_extension = "/Applications/MxSrvs/bin/php/ext/xdebug.so"
xdebug.remote_enable=1
xdebug.remote_connect_back=1
xdebug.var_display_max_depth = 512
xdebug.profiler_append = 1
xdebug.profiler_enable_trigger = 1
xdebug.max_nesting_level = 200
xdebug.profiler_output_dir = "/Applications/MxSrvs/logs/xdebug"
xdebug.profiler_output_name = "cachegrind.out.%t.%p"
xdebug.remote_port=9000

phpstorm中配置如下,首先在PHP的Debug中配置Xdebug的端口和上述php.ini保持一致


端口配置

然后配置一个Server,host和port是Nginx启动的host和端口号。


Server

Chrome中安装xdebug插件,然后开启phpstorm的listening


listening

你可能感兴趣的:(Mac下php集成环境MxSrvs使用说明)