mac php + xdebug安装
背景:之前用的自带php 配置的xdebug,突然发现不能用了,error.log 也不记录在之前的日志文件里了
查看php -v 成了7.1 的了,一脸xx
最后进/usr/bin 看,php确实变成了7.1
/ect 下面之前配置的php.ini 也不见了
最后在查问题时,看到一篇
https://www.cnblogs.com/ailhc/p/7398479.html
提到mac在系统更新时候,会将自带的配置给还原,(最近更新了High Sierra)
放弃自带php,再见
首先
- 因为自带的php可能其他地方会用到,就不删除了,重新装一个
brew update
brew search php
brew install php71
安装后查看下php -v php-fpm -v 是不是最新的7.1.11 mac最新自带 7.1.7
如果不是查看环境变量
echo $PATH
看看/usr/local/bin/和/usr/local/sbin 是不是写在/usr/bin和/usr/sbin之前
没有则添加,不是则修改
安装个php-version(有需要安装多版本的可以安装)
brew install php-version
source $(brew --prefix php-version)/php-version.sh && php-version
php-version 查看当前安装的版本(自带的是看不到的?)
/**
* 只能在当前终端有效, 新切换的终端输入php -v不变,但是我们只要在切换过的终端,
* 启动php-fpm,后台运行的就是切换后的fpm。
*/
php-version 7.1.11 //更换版本
配置php php-fpm
- brew 安装的php,配置文件在/usr/loacl/etc/php
cd /usr/loacl/etc/php
cd 7.1 //找对应版本
- 修改配置
vim php.ini //没有则增加
display_errors = off //不显示错误信息(不输出到页面或屏幕上)
log_errors = On
error_log = "/usr/local/lnmp/php/var/log/error_log"(自定义,绝对路径)
error_reporting=E_ALL
vim php-fpm.conf //没有则增加
catch_workers_output = yes
error_log = "/usr/local/lnmp/php/var/log/error_log"(自定义,绝对路径)
//注意!
php_admin_value[error_log]参数会覆盖php.ini中的error_log 参数
最终按phpinfo 里的error_log配置为准
启动php-fpm
php-fpm -v 先查看是不是要启动的版本
sudo php-fpm
//出现问题 php-fpm 并不在后台运行
终端输出
NOTICE: fpm is running, pid 42540
NOTICE: ready to handle connections
//结束php-fpm
sudo killall php-fpm
//修改php-fpm.conf
daemonize = yes (如果设置为no, fpm会运行在前台)
再启动
在页面输出phpinfo()查看error_log配置
安装Xdebug
寻找对应php版本的xdebug版本
-
先将info输出到一个文件
php -i > info.txt -
打开info.txt 复制所有内容
-
打开寻找合适xdebug的页面https://xdebug.org/wizard.php
-
将刚才复制的内容粘贴至提供的输入框中 点击Analyse my phpinfo() output 就会显示下载安装步骤,
跟着一步步执行就好了
//出现问题 配置之后php -v | php -m 显示
Zend OPcache requires Zend Engine API version 220090626.
The Zend Engine API version 220100525 which is installed, is newer.
Contact Zend Technologies at http://www.zend.com/ for a later version of Zend OPcache.
解决办法,重新配置xdebug,删除之前的xdebug.so(移动过去的那个) 和 xdebug文件夹,
重新解压
按照上面执行步骤,在执行phpize命令 时候,使用绝对路径,php所在的路径
/usr/local/Cellar/php71/7.1.11_22/bin/phpize
配置xdebug
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "127.0.0.1"
xdebug.remote_port = 9001
xdebug.remote_log = "/var/log/php-fpm/xdebug.log"
设置php-fpm开机自启
进入 /usr/local/Cellar/php71/7.1.11_22
将brew安装php生成的开机自启文件复制到 /Library/LaunchDaemons(或者在/Library/LaunchDaemon新建一个内容如下的plist文件)
sudo cp homebrew.mxcl.php71.plist /Library/LaunchDaemons
sudo vim /Library/LaunchDaemons/homebrew.mxcl.php71.plist
文件内容 修改 至以下
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>homebrew.mxcl.php71</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/opt/php71/sbin/php-fpm</string>
</array>
<key>KeepAlive</key>
<true/>
</dict>
</plist>
- 加入开机自启
sudo plutil -lint /Library/LaunchDaemons/com.mysql.plist //检查文件是否有问题
sudo launchctl load -w /Library/LaunchDaemons/com.mysql.plist //加入开启自启
注:
1. 文件权限 sudo chown root:wheel /Library/LaunchDaemons/com.mysql.plist
2. 删除自启 sudo launchctl unload -w /Library/LaunchDaemons/com.mysql.plist
参考文章
-
php error_log配置 http://www.jb51.net/article/31499.htm
-
php-fpm 配置详解 https://www.cnblogs.com/jonsea/p/5522018.html
-
php-version 安装 http://www.jianshu.com/p/bee30e411b00
-
xdbug配置
https://www.awaimai.com/1290.html https://www.cnblogs.com/purelightme/p/6605648.html
网友评论