默认情况下,我的 php.ini
位于 /etc/php.ini
,我想将其移动到 /tmp/ab/etc/php .ini
。在 /etc/lighttpd/lighttpd.conf
中,我尝试设置以下配置:
#### CGI module
cgi.assign = ( ".pl" => "/usr/bin/perl", ".cgi" => "/usr/bin/perl", ".py" => "/usr/bin/python", "cgi-bin/luci" => "", ".php" => "/usr/bin/php-cgi -c /tmp/ab/etc/php.ini", "sms_gateway" => "/bin/bash", "cgi-bin/check" => "/bin/sh", "cgi-bin/remove" => "/bin/sh", "cgi-bin/date" => "/bin/sh" )
请看一下这部分:".php"=> "/usr/bin/php-cgi -c/tmp/ab/etc/php.ini"
但是在我这样做并重新启动lighttpd之后,我尝试使用以下命令检查php.ini
的位置:
<?php
phpinfo();
?>
我在浏览器上收到500 - 内部服务器错误
。我该如何做到这一点?
最佳答案
一种解决方案是创建一个包装脚本/tmp/ab/bin/my-php-cgi 并将其放入 lighttpd.conf cgi.assign = ( ".php"=> "/tmp/ab/bin/my-php-cgi")
#!/bin/sh
exec /usr/bin/php-cgi -c /tmp/ab/etc/php.ini
根据您使用的 PHP 版本,您还可以考虑使用 lighttpd.conf setenv.add-environment = ( "PHPRC"=> "/tmp/ab/etc/php.ini")
另请参阅 How to change the path to php.ini in PHP CLI version
关于php - 如何在lighttpd中设置自定义php.ini位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42054188/