修改 php.ini - 编辑后看不到任何变化

修改 php.ini - 编辑后看不到任何变化

我有一个运行的服务器:PHP 版本 5.5.9-1 ubuntu 4.9

我想编辑“正确的”php.ini 文件,以便启用一些功能。首先我使用了:

root@server ~ # find / -name php.ini

/opt/psa/admin/conf/php.ini
/opt/plesk/php/5.3/etc/php.ini
/opt/plesk/php/5.5/etc/php.ini
/opt/plesk/php/5.4/etc/php.ini
/opt/plesk/php/5.6/etc/php.ini
/var/www/vhosts/system/mysiteyo/etc/php.ini
/etc/php5/cgi/php.ini
/etc/php5/apache2/php.ini
/etc/php5/cli/php.ini
/etc/psa-webmail/horde/horde/php.ini
/etc/psa-webmail/roundcube/php.ini

我从之前的帖子中了解到我应该编辑该/etc/php5/apache2/php.ini文件。

我还创建了一个phpinfo();脚本并从浏览器运行它。配置文件 Path@phpinfo 是,/etc/php5/cgi/php.ini但加载的配置文件是:

/var/www/vhosts/system/mysiteyo/etc/php.ini 

当我打开上述文件时,我看到了以下内容:

; ATTENTION! ;  
; DO NOT MODIFY THIS FILE BECAUSE IT WAS GENERATED AUTOMATICALLY, 
; SO ALL YOUR CHANGES WILL BE LOST THE NEXT TIME THE FILE IS GENERATED.

所以我认为这个文件是以某种方式从其他 php.ini 文件之一生成的。

然后我将两个文件 (/etc/php5/cgi && /etc/php5/apache2) 重命名为php_tmp.ini并加载我新修改的php.ini文​​件。

之后我重新启动了 apache2:

root@server ~ # /etc/init.d/apache2 restart

尽管我重新运行phpinfo();脚本,但我看不到任何变化。我用命令更改了找到的一半脚本find,但我感觉我做的事情完全是错的。

如果我遗漏了什么或做错了什么,有人能告诉我吗?我认为这个自动生成的文件是问题所在,但我不知道它是从哪里生成的,以便编辑该文件。谢谢您的时间。

答案1

您已确定配置选项所来自的正确 php.ini 文件。它是 输出中显示的文件phpinfo(),在您的情况下为/var/www/vhosts/system/mysiteyo/etc/php.ini

如果您修改该文件并重新启动 Apache,那么您应该在输出中看到您的更改phpinfo()

您的问题是该文件是自动生成的,因此您所做的任何更改都不会持久。您需要回答的问题是,是什么生成了该文件以及它是如何生成的?我猜您有某种形式的控制面板,例如创建该/var/www/vhosts/system/mysiteyo/etc/php.ini文件的 cPanel 或 Plesk。

答案2

从目录名称可以清楚看出,该系统由 Plesk 管理。Plesk 管理每个域的所有不同 php.ini 设置。它还具有 php.ini 配置的继承模型,可以在管理员、租户(可以创建更多客户的用户)、订阅(划分客户资源分配份额)和域级别指定,尽管在更大程度上,域是订阅的一部分。

一旦你将系统交给像 Plesk 这样的程序,你就必须让它专门完成它的工作,否则你将进入一个痛苦的世界。

  1. 登录 Plesk
  2. 主页 -> 订阅 -> example.com -> 网站和域名 -> example.com -> PHP 设置
  3. 滚动到底部,您可以添加任何php.ini您喜欢的设置。
  4. 点击保存

现在您可以在 中看到更改/var/www/vhosts/system/example.com/etc/php.ini。让 Plesk 为您管理配置的最好之处在于,Plesk 会为您管理一切!因此,如果您升级 PHP(使用 Plesk 软件管理器),它将更改所有核心 PHP 配置,然后重新应用所有特定更改。

相关内容