【问题标题】:How to set custom php.ini location in lighttpd?如何在 lighttpd 中设置自定义 php.ini 位置?
【发布时间】:2017-02-05 16:04:08
【问题描述】:

默认情况下,我的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"

但是在我这样做并重新启动 lig​​httpd 之后,我尝试使用以下命令检查 php.ini 的位置:

<?php
phpinfo();
?>

我在浏览器上收到500 - Internal Server Error。我该怎么做?

【问题讨论】:

  • 我不确定这是不是好方法,但您可以将php.ini 移动到/tmp/ab/etc 并在/etc/ 创建名为php.ini 的符号链接到/tmp/ab/etc

标签: php lighttpd


【解决方案1】:

一种解决方案是创建一个包装脚本 /tmp/ab/bin/my-php-cgi 并将其放入 lighttpd.conf cgi.assign = ( ".php" =&gt; "/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" =&gt; "/tmp/ab/etc/php.ini" ) 另请参阅 How to change the path to php.ini in PHP CLI version

【讨论】:

    猜你喜欢
    • 2015-04-05
    • 2016-10-08
    • 1970-01-01
    • 2016-02-11
    • 2014-11-14
    • 2014-03-22
    • 2016-02-20
    • 2015-07-25
    • 1970-01-01
    相关资源
    最近更新 更多