我刚从php5.6升级。 => php7.2.5 我的所有网站都在工作,只有一个网站只使用php5_module而不是php7_module。
是否有soem方式只安装了php7.2.5但也使用php5_module?
当我从php56 =>升级时,我从域中获得的错误php72
[Mon May 21 10:33:21.490109 2018] [proxy_fcgi:error] [pid 19775] [client 66.249.66.193:39398] AH01071:收到错误'PHP消息:PHP致命错误:未捕获错误:调用未定义函数split()在/home/akis/public_html/wp-content/themes/business_for_sale_1-1/library/misc.php:19 \ nStack trace:\ n#0 / home / akis / public_html / wp-content / themes / business_for_sale_1 -1 / library / navigation.php(271):theme_trim_long_str('\ xCE \ x91 \ xCF \ x81 \ xCF \ x87 \ xCE \ xB9 \ xCE \ xBA \ xCE \ xAE','45')\ n#1 / home / akis / public_html / wp-content / themes / business_for_sale_1-1 / library / navigation.php(343):theme_MenuItem-> get_start(0)\ n#2 / home / akis / public_html / wp-content / themes / business_for_sale_1-1 / library / navigation.php(315):theme_MenuWalker-> display('',Array)\ n#3 /home/akis/public_html/wp-content/themes/business_for_sale_1-1/library/navigation.php (92):theme_MenuWalker-> walk(Array,Array)\ n#4 /home/akis/public_html/wp-content/themes/business_for_sale_1-1/library/navigation.php(17):theme_get_list_menu(Array)\ n #5 / ho me / akis / public_html / wp-content / themes / business_for_sale_1-1 / header.php(62):theme_get_menu(Array)\ n#6 /home/akis/public_html/wp-includes/template.php(688 ... \ N'
答案 0 :(得分:2)
您的错误说明:
调用未定义的函数split()
快速谷歌搜索后,我在PHP文档中找到了这篇文章:
http://php.net/manual/en/function.split.php
警告。此函数在PHP 5.3.0中已弃用,在PHP 7.0.0中已被删除。
此功能的替代方案包括:
请使用其中一种替代方案来整理。
这就是为什么在编写代码时不应该使用已弃用的函数,因为它们很快就会消失,并且在升级版本时代码会崩溃。
答案 1 :(得分:0)
是啊..为什么不,你可以安装两个版本。如果您使用的是Linux机器(ubuntu),则可以使用以下命令启用或禁用您的PHP版本
sudo a2dismod php7.2 (**Replace it with your PHP7 version**)
sudo a2enmod php5.6 (**To enable your PHP5.x version**)
sudo service apache2 restart (**Restart Apache**)
同样,如果您想启用7.2,请将其替换为反之亦然。
注意:请记住,您不能同时使用这两个版本。
答案 2 :(得分:0)
我认为你可以给https://github.com/cfebs/phpvm一个去,这适用于我当地的环境。
另一个选择是使用Docker,创建一个包含两个PHP版本的容器,并将您的应用程序放入这些容器进行比较。 docker的另一个好处是你可以将docker-compose文件更改为最适合你的版本。