Ton*_*ony 0 php installation configuration
我将 PHP 配置为在 /etc/php5/apache2 中查找 php.ini 文件。phpinfo() 的输出表示路径设置正确,但也表示未加载配置文件。我暂时将 php.ini 权限更改为 777 以测试该问题,而权限不是问题。还有什么问题?
当我编译 php 时,我做了:
sudo ./configure --with-apxs2=/usr/sbin/apxs --with-mysql --enable-so --with-config-file-path=/etc/php5/apache2 --sysconfdir=/etc/php5 --with-config-file-scan-dir=/etc/php5/conf.d
Run Code Online (Sandbox Code Playgroud)
phpinfo() 说:
Configuration File (php.ini) Path /etc/php5/apache2
Loaded Configuration File (none)
Scan this dir for additional .ini files (none)
Additional .ini files parsed (none)
Run Code Online (Sandbox Code Playgroud)
另外 php --ini 说:配置文件 (php.ini) 路径:/usr/local/lib 加载的配置文件:/etc/php5/apache2/php.ini 扫描其他 .ini 文件:(无)其他 .ini解析的文件:(无)
如果我将 php.ini 放在 /usr/local/lib 中,则配置文件加载正常(尽管不会加载额外的 .ini 文件)。我不确定为什么会发生这种情况,因为我在编译 PHP 时设置了选项。
核心选项是在 strace 下运行 apache,以查看它在尝试读取 php.ini 文件时在做什么。
运行“ps aux”以查找 apache 的命令行,然后停止该进程。现在运行:
# strace -efile -f -o /tmp/apache.log /usr/sbin/apache2 -k start
Run Code Online (Sandbox Code Playgroud)
在浏览器中请求 phpinfo() 页面,然后使用 ctrl-c 终止 strace。您现在可以 grep /tmp/apache.log for php.ini 并查看当它尝试读取该文件时是否显示任何错误。这将向您显示诸如找不到文件或权限问题之类的问题。
如果有一个 open() 调用返回一个数字,那么它似乎正在正确读取文件,并且该文件肯定存在问题阻止 php 正确解析它,但我希望这是记录在错误日志中。
| 归档时间: |
|
| 查看次数: |
9338 次 |
| 最近记录: |