2017-02-05 44 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

相關問題