问题:由于开启了 xdebug 扩展, 导致使用 composer 时提示:
you are running composer with xdebug enabled. this has a major impact on runtime performance. see https://getcomposer.org/xdebug
所以想在 cli 下不再加载 xdebug
环境:linux 为 archlinux
php 通过 pacman 安装, 版本 7.0.1
web服务通过 php-fpm 运行
配置文件分布:
/etc/php├── conf.d│ └── xdebug.ini├── fpm.d├── pear.conf├── php-fpm.conf├── php-fpm.d│ └── www.conf├── php.ini└── php.ini.pacnew
对比 ubuntu 下 通过 apt 安装的 php 配置文件分布:
/etc/php5/├── cli│ ├── conf.d│ └── php.ini├── fpm│ ├── conf.d│ │ ├── 20-xdebug.ini -> ../../mods-available/xdebug.ini│ ├── php-fpm.conf│ ├── php.ini│ └── pool.d│ └── www.conf└── mods-available └── xdebug.ini
---update ---
https://launchpadlibrarian.net/92790964/buildlog_ubuntu-hardy-amd64.php5_5.2.4-2ubuntu5.23_building.txt.gz
https://projects.archlinux.org/svntogit/packages.git/tree/trunk/pkgbuild?h=packages/php
在不自行编译安装,重新指定各项config参数的情况下, 也只好手动指定 php.ini 运行了
回复内容: 问题:由于开启了 xdebug 扩展, 导致使用 composer 时提示:
you are running composer with xdebug enabled. this has a major impact on runtime performance. see https://getcomposer.org/xdebug
所以想在 cli 下不再加载 xdebug
环境:linux 为 archlinux
php 通过 pacman 安装, 版本 7.0.1
web服务通过 php-fpm 运行
配置文件分布:
/etc/php├── conf.d│ └── xdebug.ini├── fpm.d├── pear.conf├── php-fpm.conf├── php-fpm.d│ └── www.conf├── php.ini└── php.ini.pacnew
对比 ubuntu 下 通过 apt 安装的 php 配置文件分布:
/etc/php5/├── cli│ ├── conf.d│ └── php.ini├── fpm│ ├── conf.d│ │ ├── 20-xdebug.ini -> ../../mods-available/xdebug.ini│ ├── php-fpm.conf│ ├── php.ini│ └── pool.d│ └── www.conf└── mods-available └── xdebug.ini
---update ---
https://launchpadlibrarian.net/92790964/buildlog_ubuntu-hardy-amd64.php5_5.2.4-2ubuntu5.23_building.txt.gz
https://projects.archlinux.org/svntogit/packages.git/tree/trunk/pkgbuild?h=packages/php
在不自行编译安装,重新指定各项config参数的情况下, 也只好手动指定 php.ini 运行了
使用两个不同的 php.ini 配置文件配置不同的运行参数(包括扩展参数),在开启 cli 或者 fpm 时,通过 -c 参数指定运行所使用的 php.ini 即可。
php和php-fpm都可以用参数-c指定php.ini配置文件.
执行下列命令可见:
strace -f -o strace.log \/png/php/5.4.45/bin/php -v && \cat strace.log|egrep 'open|read'|grep 'ini'3080 open(/png/php/5.4.45/bin/php-cli.ini, o_rdonly) = -1 enoent (no such file or directory)3080 open(/png/php/5.4.45/lib/php-cli.ini, o_rdonly) = -1 enoent (no such file or directory)3080 open(/png/php/5.4.45/bin/php.ini, o_rdonly) = -1 enoent (no such file or directory)3080 open(/png/php/5.4.45/lib/php.ini, o_rdonly) = 3
php会优先读取php程序所在目录下的php-cli.ini,访问到则不再读取其他ini文件.
php-fpm情况如下:
strace -f -o strace.log \/png/php/5.4.45/sbin/php-fpm -v && \cat strace.log|egrep 'open|read'|grep 'ini'3537 open(/png/php/5.4.45/lib/php-fpm-fcgi.ini, o_rdonly) = -1 enoent (no such file or directory)3537 open(/png/php/5.4.45/lib/php.ini, o_rdonly) = 3
php-cgi情况如下:
strace -f -o strace.log \/png/php/5.4.45/bin/php-cgi -v && \cat strace.log|egrep 'open|read'|grep 'ini'3568 open(./php-cgi-fcgi.ini, o_rdonly) = -1 enoent (no such file or directory)3568 open(/png/php/5.4.45/bin/php-cgi-fcgi.ini, o_rdonly) = -1 enoent (no such file or directory)3568 open(/png/php/5.4.45/lib/php-cgi-fcgi.ini, o_rdonly) = -1 enoent (no such file or directory)3568 open(./php.ini, o_rdonly) = -1 enoent (no such file or directory)3568 open(/png/php/5.4.45/bin/php.ini, o_rdonly) = -1 enoent (no such file or directory)3568 open(/png/php/5.4.45/lib/php.ini, o_rdonly) = 3
可以把cli目录下的conf.d 的20-xdebug.ini 设置为禁用应该就可以了
