Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
域的自定义php.ini_Php_Apache_Php Ini - Fatal编程技术网

域的自定义php.ini

域的自定义php.ini,php,apache,php-ini,Php,Apache,Php Ini,我的全局php.ini文件位于/usr/local/lib文件夹中。自定义php.ini文件位于/home/petstail/public\u html/文件夹中 这就是我的phpinfo()的样子 我仍在加载全局php.ini文件。 如何更改配置文件路径,并运行自定义php.ini文件 谢谢。您可以通过.htaccess设置一个环境变量(如果Apache正在运行mod_php)来实现: SetEnv PHPRC/home/petstail/public\u html/php.ini 但是,您

我的全局php.ini文件位于
/usr/local/lib
文件夹中。自定义php.ini文件位于
/home/petstail/public\u html/
文件夹中

这就是我的phpinfo()的样子

我仍在加载全局php.ini文件。 如何更改配置文件路径,并运行自定义php.ini文件


谢谢。

您可以通过
.htaccess
设置一个环境变量(如果Apache正在运行mod_php)来实现:

SetEnv PHPRC/home/petstail/public\u html/php.ini

但是,您的php.ini文件不应位于文档根目录中(可公开访问的地方)。。。至少将其存储在另一个
.htaccess
定义
拒绝所有
的目录中

或者您可以使用以下命令拒绝访问
php.ini

<FilesMatch "php.ini">
    deny from all
    allow from 127.0.0.1
<FilesMatch>

全盘否定
允许从127.0.0.1开始

根据您的php版本,您应该参考php文档,查看INI设置是否打开

请看这里:

不过,它正在加载全局php.ini。Apache可能没有运行
mod_php
——通常您可以从Apache
httpd.conf
httpd vhosts.conf
(使用
PHPIniDir
)中进行设置,但是,主机允许您这样做的可能性微乎其微(除非您使用专用主机)。究竟为什么需要定义自定义php.ini?您是否需要设置在运行时无法使用
ini\u set
完成的变量?我已经为网站本身定义了include\u路径。我在同一台服务器上有生产和开发网站。我不能使用彼此包含的路径。这就是原因。是的-但是您可以通过
ini_set('include_path','/path/to/include/dir')设置include路径本身如果您可以选择是在开发环境还是实时环境中运行,那么您可以设置与代码在配置文件或类似文件中运行的位置相关的包含路径?我没有尝试这样做。我需要先检查一下。谢谢。我使用的是PHP5.4.25,因为他们已经更改了外部ini文件
.user.ini
,但是您可以更改的可更改内容有限,我将参考此内容