php.ini问题汇总

  1. 这个问题尝试百度,google了很多次都没有找到满意的答案
  2. 安装完php后,打印phpinfo(),会显示一个叫Loaded Configuration File的选项,

这个选项是用来载入php.ini文件的,php.ini文件中可能载入了一些扩展(如:redis.so , phalcon.so , mcrypt.so .....)

  1. 我使用的是Linux+Nginx(1.6.2)+Mysql+PHP(5.6.1)环境,php安装目录:/usr/local/php5.6,在/usr/local/php5.6/lib/下存在php.ini文件,但是我载入的确不是这个ini文件,根据打印的phpinfo信息中显示被载入的ini文件是/usr/local/lib/php.ini
  2. 现在问题来了,我希望载入的php.ini文件是/usr/local/php5.6/lib/php.ini 而不是/usr/local/lib/php.ini ,那么我该如何自定义被载入的php.ini文件。
  • 编译php的时候加上--with-config-file-path
  • 备份老的ini文件,把自定义的ini文件替换老的ini文件,放到php -i 输出对应的ini目录中
阅读 4.4k
3 个回答

php和php-fpm都可以通过参数-c指定php.ini文件所在目录:
php -h 和 php-fpm -h 可见

-c <path>|<file> Look for php.ini file in this directory

--with-config-file-path=/usr/local/php5.6/lib/ php.ini 存放位置
--with-config-file-scan-dir=/usr/local/php5.6/lib/conf.d 扩展文件目录

你手动开启php-fpm可以通过指定-c参数来确定加载的php.ini php-fpm.conf位置,但是默认位置只能通过编译configure 参数来指定

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题