将托管PHP Fatal error: Directive 'safe_mode' is no longer available in PHP in Unknown on line 0
的版本从PHP
更新为5.6
时,出现了错误7.2
我该如何解决此问题,或者我必须联系托管服务提供商?!
这是在我的平均路径中找到的php.ini
设置文件
; cPanel-generated PHP ini directives, do not edit
; Manual editing of this file may result in unexpected behavior.
; To make changes to this file, use the cPanel MultiPHP INI Editor (Home >> Software >> MultiPHP INI Editor)
; For more information, read our documentation (https://go.cpanel.net/EA4ModifyINI)
magic_quotes_gpc = Off;
register_globals = Off;
default_charset = UTF-8;
memory_limit = 64M
max_execution_time = 36000
upload_max_filesize = 999M
safe_mode = On;
mysql.connect_timeout = 20;
session.auto_start = Off;
session.use_only_cookies = On;
session.use_cookies = On;
session.use_trans_sid = Off;
session.cookie_httponly = On;
session.gc_maxlifetime = 3600
allow_url_fopen = On
display_errors = On
;error_reporting = E_ALL;
allow_url_include = On
enable_dl = On
file_uploads = On
max_input_time = 60
max_input_vars = 1000
post_max_size = 8M
session.save_path = "/var/cpanel/php/sessions/ea3"
zlib.output_compression = Off
答案 0 :(得分:3)
首先,您应该阅读safe_mode。在文档中,将看到:
警告:此功能自PHP 5.3.0起已已弃用,自PHP 5.4.0起已已移除。
第二,您可以通过删除以下行来使错误消失:
safe_mode = On;
注意:您必须确定找到正确的INI文件。某些安装PHP的操作系统或方法将为Web服务器和命令行界面(CLI)提供单独的php.ini文件。例如,在我的ubuntu工作站上,我有一个用于apache,一个用于CLI:
/etc/php5/cli/php.ini
/etc/php5/apache2/php.ini
要找出您应编辑的INI文件,我建议查看phpinfo()
的输出并查看 Loaded Configuration File 的值。要在网络服务器上执行此操作,请使用以下文件:
<?php
phpinfo();
如果要查找CLI脚本的php.ini文件所在的位置,可以使用以下命令:
php -i | grep "Loaded Configuration File"
如果要更改Web服务器的ini文件,则需要重新启动Web服务器才能使此更改生效。在Ubuntu或其他基于Debian的发行版上,您可以使用以下命令来完成此操作:
sudo service apache2 restart
您可能需要调整该命令,具体取决于发行版,发行版版本,apache版本等。我相信对于CentOS或基于Red Hat的发行版,其中之一应该有效:
sudo service httpd restart
sudo apachectl restart
注意:如果您的计算机配置为使用 php-fpm 处理PHP请求,则Web服务器的工作方式会有所不同。您的系统将维护一个与Web服务器完全分开的PHP进程的进程池。您将需要重新启动PHP进程池。根据发行版和您的PHP版本,完成此操作的命令差异很大。检查this page的发行版,看看是否可以找到合适的发行版。
对于PHP的CLI调用,更改应在每次运行新的php脚本时生效。您不必为新命令重新启动任何命令即可查看所做的更改。如果出于某种原因(非常不寻常)使用了一些长时间运行的PHP脚本,则需要在进行INI更改后暂停该过程并重新调用它。
编辑:我还要指出,您的INI文件非常清楚地表明,您在CPANEL系统上可能会出现奇怪的行为。确保遵循其指示:
; cPanel-generated PHP ini directives, do not edit
; Manual editing of this file may result in unexpected behavior.
; To make changes to this file, use the cPanel MultiPHP INI Editor (Home >> Software >> MultiPHP INI Editor)
; For more information, read our documentation (https://go.cpanel.net/EA4ModifyINI)