当我尝试在主机(hostgator)中上载新版本时,我的项目存在一个问题。
PHP启动:SourceGuardian:无法初始化模块 使用模块API = 20131226编译的模块 使用模块API = 20100525编译的PHP 这些选项需要匹配
我在Cpanel中将PHP 5.4的版本更改为5.6,但是当我从conexion与腻子检查服务器中的php版本时,收到以下消息:
PHP 5.4.45(cli)(建立:2017年4月17日15:59:08) 版权所有(c)1997-2014 The PHP Group Zend Engine v2.4.0,版权所有(c)1998-2014 Zend Technologies 使用ionCube PHP加载程序(已启用)+来自ioncube24.com的入侵保护(未配置)v10.2.4,版权所有(c)2002-2018,由ionCube Ltd. 与Zend Guard Loader v3.3,Zend Technologies版权所有(c)1998-2013
也许这可能是问题所在?我读到有关此错误的信息,但我无法解决。我不知道我做错了什么。
非常感谢!
答案 0 :(得分:2)
首先,Hostgator将在2020年10月之前弃用7.2之前的版本。
第二,如果以下解决方案不能解决您的问题,请确保父文件夹中没有使用不同说明的.htaccess文件(MySQL模块似乎由文件夹层次结构中指示的第一个版本指示,而PHP由最后一个)。
在htaccess文件中使用以下代码(以#开头的行被注释):
# Use PHP 5.4 (will no longer be available in Oct 2020)
#AddHandler application/x-httpd-php54 .php
#<IfModule mod_suphp.c>
# suPHP_ConfigPath /opt/php54/lib
#</IfModule>
# Use PHP 5.6 (will no longer be available in Oct 2020)
#AddHandler application/x-httpd-php56 .php
#<IfModule mod_suphp.c>
# suPHP_ConfigPath /opt/php56/lib
#</IfModule>
# Use PHP 7.1 (will no longer be available in Oct 2020)
#AddHandler application/x-httpd-php71 .php
#<IfModule mod_suphp.c>
# suPHP_ConfigPath /opt/php71/lib
#</IfModule>
# Use PHP 7.2
#<IfModule mime_module>
# AddHandler application/x-httpd-ea-php72 .php .php7 .phtml
#</IfModule>
# Use PHP 7.3
#<IfModule mime_module>
# AddHandler application/x-httpd-ea-php73 .php .php7 .phtml
#</IfModule>
# Use PHP 7.4 (automatically asigned to new domains since ~Sept 2020)
<IfModule mime_module>
AddHandler application/x-httpd-ea-php74 .php .php7 .phtml
</IfModule>
感谢@anayarojo提供v7.2的提示(2020年4月)。
答案 1 :(得分:1)
从命令行调用的php
二进制文件可能与Apache使用的php
二进制文件相同或不同。您应该使用以下PHP脚本(将其保存到可公开访问的Web目录中并将其加载到Web浏览器中)来确定将Apache配置为运行哪个PHP版本:
<?php
phpinfo();
?>
答案 2 :(得分:1)
只需将此行添加到您的.htaccess中,即可使用较新版本的php:
对于PHP 7.2:
AddHandler application/x-httpd-ea-php72 .php .php7 .phtml
对于PHP 7.3:
AddHandler application/x-httpd-ea-php73 .php .php7 .phtml
答案 3 :(得分:0)
cPanel提供了2种不同的设置php版本的方法。一个叫做“选择PHP版本”,它将全局php版本设置为新域,cron作业等的默认版本,另一个叫“ MultiPHP Manager”,它允许您设置不同版本的php以与不同域一起使用。相同的cPanel帐户。您需要确保“ MultiPHP Manager”也列出了您所在域的正确php版本(它可以覆盖“选择PHP版本”设置)。