嗨,我想在我的网站上使用自定义的php.ini。我知道我可以在每个文件夹中放置一个php.ini文件,但那是不可行的。
我在网上搜索并找到了以下方法:
1 - 创建自定义php.ini文件并将其放在path / to / your / website / cgi-bin文件夹中
2 - 创建以下php.cgi文件
#!/bin/sh
exec /usr/local/bin/php5 -c path/to/your/website/cgi-bin
3 - 将php.cgi上传到/ path / to / your / website / cgi-bin
4 - chmod + x php.cgi使其可执行
5 - 在我的网站root
中包含.htaccess中的以下行Action application/x-httpd-php5 /path/to/your/website/cgi-bin/php.cgi
根据我的理解,完成上述操作后,我网站上的php脚本将开始使用我的自定义php.ini文件而不是默认文件。
任何人都可以提供帮助?我花了很多时间试图解决这个问题而没有成功。
顺便说一下,我的帐户root(比我的网站根目录高一级)有一个.htaccess文件,其中包含以下行:
AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php
谢谢。
尝试在.htaccess中包含以下语句
SetEnv PHPRC /path/to/my/website/cgi-bin <- where my custom php.ini file is located.
根据这个网站它应该有用 - &gt; http://support.premiumreseller.com/index.php?_m=knowledgebase&_a=viewarticle&kbarticleid=85
但仍然没有。
我会继续努力。
任何帮助表示赞赏!!!
所以,我找不到解决问题的方法。我决定创建一个小的PHP脚本,在每个有PHP脚本的目录中创建到php.ini的硬链接。
如果您感到好奇,请参阅下面的代码:
<?php
define('ROOT_DIR', $_SERVER['DOCUMENT_ROOT']);
define('FILE_PHPINI', ROOT_DIR . "/cgi-bin/php.ini");
processdir(ROOT_DIR);
function processdir($path)
{
$FlagNoPHP = true;
$localPHPINI = $path . "/php.ini";
foreach ( new DirectoryIterator($path) as $file)
{
if (!($file->isDot()))
{
if ($file->isDir())
{
processdir($path . "/" . $file);
}
else if ($FlagNoPHP && fnmatch("*.php*", $file))
{
$FlagNoPHP = false;
if (!file_exists($localPHPINI))
{
link(FILE_PHPINI, $localPHPINI);
}
}
}
}
if ($FlagNoPHP)
{
if (file_exists($localPHPINI))
{
unlink($localPHPINI);
}
}
}
?>
上面的代码查看了我网站上的每个目录,并且:
1 - 如果有php脚本且没有php.ini,则创建一个到php.ini的硬链接
2 - 如果没有php脚本且有php.ini,则删除硬链接(在函数的最后一个if中完成)。我将其包括在内以清理旧的php.ini文件的文件系统。
这对我有用。
我仍然对我原来问题的答案感到好奇。
我希望这有助于某人!
答案 0 :(得分:0)
好像你需要走很长的路。只需修改.bashrc
:
export PHPRC="/Volumes/Mac_Daddy/web_curr/public_html/php_osx.ini"
结果:
Configuration File (php.ini) Path: /usr/local/php5/lib
Loaded Configuration File: /Volumes/Mac_Daddy/web_curr/public_html/php_osx.ini
Scan for additional .ini files in: /usr/local/php5/php.d
Additional .ini files parsed: /usr/local/php5/php.d/10-extension_dir.ini
或创建别名:
alias myphp="/usr/local/php5/bin/php -c /somewhere/someplace/php.ini"
或更好man php
。