PHP

mac php + xdebug安装

2018-02-22  本文已影响1232人  阿特森

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,再见

首先

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

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版本

  1. 先将info输出到一个文件
    php -i > info.txt

  2. 打开info.txt 复制所有内容

  3. 打开寻找合适xdebug的页面https://xdebug.org/wizard.php

  4. 将刚才复制的内容粘贴至提供的输入框中 点击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

参考文章

上一篇 下一篇

猜你喜欢

热点阅读