php - 如何在lighttpd中设置自定义php.ini位置?

标签 php lighttpd

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

相关文章:

php - 跟踪图像加载和点击的次数

php - 何时适合使用 ArrayObject 而不是 Array

redirect - Lighttpd 将 url 重定向到小写版本

php - Lighttpd 403 禁止 PHP 文件

windows - 为什么在 Lighttpd 提供服务的情况下,在 IE 中下载某些 PDF 时会挂起

PHP:使用环境变量作为对局部常量的引用

php - PBKDF2 密码存储 - 如何验证?

apache - 上传文件时mod_proxy 502代理错误

Mysql远程访问lighttpd

php - 使用 mysql MATCH AGAINST 搜索多个单词