mac php + xdebug安装

Attson Lv3

mac php + xdebug安装

1
2
3
4
5
6
7
8
背景:之前用的自带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在系统更新
时候,会将自带的配置给还原
然后便想到,放弃自带php,再见

首先

1
2
3
4
5
6
7
8
9
10
//因为自带的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(有需要安装多版本的可以安装)

1
2
3
4
5
6
7
8
9
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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//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
date.timezone = PRC

//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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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()查看配置

安装Xdebug

寻找对应php版本的xdebug版本

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

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

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

  4. 将刚才复制的内容粘贴至提供的输入框中 点击Analyse my phpinfo() output 就会显示下载安装步骤,
    跟着一步步执行就好了

1
2
3
4
5
6
7
8
9
出现问题 配置之后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

1
2
3
4
5
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"

参考文章

  • 标题: mac php + xdebug安装
  • 作者: Attson
  • 创建于 : 2017-11-29 14:23:21
  • 更新于 : 2023-10-18 16:13:23
  • 链接: https://attson.github.io/p/mac-php-xdebug.html
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
 评论
此页目录
mac php + xdebug安装