在主机上启用system()和exec()函数


Enable system() and exec() functions on hosting?

我是一名开发人员,我在服务器上构建客户端站点,然后使用PHP脚本将其克隆到完成后的客户端服务器。这次我尝试了,但是得到了

的错误。

"您的主机不允许使用system()和exec()功能。"

知道如何启用这个吗?我有cpanel访问和主机帐户是greengecko.com。安装Wordpress很容易,我只是不能运行这个脚本!

如果您的主机禁用了这些功能,将无法启用它们。你可以考虑联系你的主机,看看他们是否会为每个帐户启用它们,或者如果你正在使用免费主机,你可以考虑升级到他们的主机的付费版本,以启用这些功能。出于安全原因,它们被主机禁用。然而,你唯一的行动是联系你的虚拟主机或尝试升级到付费主机(如果还没有)。

一些主机提供程序允许从.htaccess(如果是Apache Httpd)中重写php.ini设置,或者从主机帐户目录的某个地方使用单独的php.ini文件。

我不熟悉你的主机提供商,所以不能评论这是否可能。但是,我可以说,如果您能够利用这种功能,您可能正在寻找disable_functions指令。

作为进一步的建议,如果你发现自己能够"重新启用"受保护的PHP函数,并且这是在客户端的帐户上,我不能强调它是多么重要,你记得"重新禁用"它们之后(禁用exec()system()在托管帐户上越来越成为一种必要,因为漏洞和简单的错误对服务器安全来说是极其昂贵的)。

Elijah,我也有同样的问题关于system()和exec() NOT在php中禁用

通过FTP下载网站根目录下的php.ini文件你会看到这样的内容:

register_globals = On
safe_mode = Off
enable_dl = On
disable_functions = "exec,passthru,shell_exec,proc_open,popen,system,curl_exec,curl_multi_exec,parse_ini_file,show_source"

只是删除exec,(在"之间的第一个单词),是在disable_functions行,也删除system,

不要忘记去掉两个单词之间的逗号

它对我有用。

请注意,我在一个月前创建了这个php.ini文件,但我不知道为什么,通过更改cPanel中的php版本,执行和系统回来了。

也遵循plasmid87给出的好建议,在完成创建您的站点的克隆时将其放回。

马里奥Bruneau