2017-08-08 69 views
0

我在控制台上通过php -i显示的内容和Apache通过phpinfo()显示的内容有很多不同。`phpinfo()`和`php -i`之间的区别为同一个php.ini

例如:

  • PDO_MYSQL存在第一种情况下,不为第二个。
  • include指令仅适用于第一种情况。

PHP.INI文件是相同的:

控制台php -i

配置文件(php.ini中)路径=> /usr/local/etc/php/7.1

已加载的配置文件=> /usr/local/etc/php/7.1/php.ini

扫描该目录以获得额外的.ini文件=> /usr/local/etc/php/7.1/conf.d

附加.ini文件解析=> /usr/local/etc/php/7.1/conf.d/ext-xdebug.ini

PDO驱动=>的MySQL,ODBC,源码

VS网络phpinfo()

配置文件(php.ini中)路径/ usr/local/lib目录

加载的配置文件/usr/local/etc/php/7.1/php.ini

扫描这个目录额外的.ini文件(无)

附加.ini文件解析(无)

PDO驱动程序源码


有关更多信息,这里是我的Apache配置:

LoadModule php7_module /usr/libexec/apache2/libphp7.so

的PHPIniDir /usr/local/etc/php/7.1/

AddHandler的应用程序/ X的httpd - PHP .PHP

而且include指令在/usr/local/etc/php/7.1 /php.ini

包括=在/ usr/local/etc中/ PHP/7.1/conf.d/*。INI

我重新启动后,阿帕奇每个php.ini修改。


任何想法,任何线索?

+2

因为某些服务器使用'cli-php.ini'文件作为命令行。换句话说,对于命令行,您可能有单独的配置文件,一个用于Apache。 – ArtisticPhoenix

+0

@ArtisticPhoenix就像你在给出的数据中可以看到的那样,它看起来并不如此。加载的php.ini是一样的。 – theredled

+0

但是在第二次你错过了这个额外的一个,'ext-xdebug.ini' – ArtisticPhoenix

回答

0

解决了,而php.ini是相同的,有2个不同的PHP7版本在CLI和Apache上运行。棘手但解决了!