我从旧的 apache 迁移到 nginx 和 php 5.3.10。当我尝试修改 php.ini 以满足我的需要时,我发现其中有 3 个:
$ locate php.ini
/etc/php5/cgi/php.ini
/etc/php5/cli/php.ini
/etc/php5/fpm/php.ini
我应该编辑哪一个?
我从旧的 apache 迁移到 nginx 和 php 5.3.10。当我尝试修改 php.ini 以满足我的需要时,我发现其中有 3 个:
$ locate php.ini
/etc/php5/cgi/php.ini
/etc/php5/cli/php.ini
/etc/php5/fpm/php.ini
我应该编辑哪一个?
一般来说,cli/php.ini
从命令行调用 PHP 二进制文件时会使用该文件。
您可以从命令行
检查是否运行。php --ini
fpm/php.ini
将在 PHP 作为 FPM 运行时使用 - 这是 nginx 安装的情况。
您可以从您的网络服务器提供的 php 页面检查该调用phpinfo()
。
cgi/php.ini
,在您的情况下,很可能不会使用。
使用两个不同的php.ini
文件(一个用于 CLI,另一个用于从您的网络服务器提供页面)是经常使用的,并且有一个主要优点:它允许您在每种情况下拥有不同的配置值。
通常,在php.ini
网络服务器使用的文件中,您将指定一个相当短的max_execution_time
: 网页应该快速提供服务,如果一个页面需要超过几十秒(默认为 30 秒),这可能是因为一个错误——页面的生成应该停止。
另一方面,您可以从 crontab(或手动)启动相当长的脚本,这意味着php.ini
将使用的文件是cli/
. 对于这些脚本,您将指定比 inmax_execution_time
更长的时间。cli/php.ini
fpm/php.ini
max_execution_time
是一个常见的例子;当然,您可以对其他几个配置指令执行相同的操作。
这真的取决于情况,对我来说它在 fpm 中,因为我使用的是 PHP5-FPM。您的问题的解决方案可能是通用 php.ini,然后使用创建的符号链接,如:
ln -s /etc/php5/php.ini php.ini
然后,您所做的任何修改都将保存在一个通用的 .ini 文件中。不过,这可能不是真正的最佳解决方案,您可能需要考虑修改一些配置,以便在一个位置上使用一个文件。不是多个位置一起被黑。
您可以找到使用的 php.ini 文件是什么:
接下来,您可以在 Loaded Configuration 文件中找到信息(所以这里是 /user/local/etc/php/php.ini)
有时,您已经指出(无),在这种情况下,您只需将您可以在此处找到的自定义 php.ini 放入:http ://git.php.net/?p=php-src.git;a=blob ;f=php.ini-production;hb=HEAD
我希望这个答案会有所帮助。