2017-02-05 57 views
1

默认情况下,我的php.ini位于/etc/php.ini,我想将其移至/tmp/ab/etc/php.ini。在/etc/lighttpd/lighttpd.conf我试图设置以下配置:如何在lighttpd中设置自定义的php.ini位置?

#### 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 - Internal Server Error。我怎样才能做到这一点 ?

+0

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

回答

0

一种解决方案是创建一个包装脚本的/ tmp/AB /斌/我的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

相关问题