鉴于PHP 5.5的功能冻结已经很久了,我想是时候该发布对流行的PHP 5.4和Drupal 7问题的更新了。
那么,Drupal可以在PHP 5.5上运行吗?
鉴于PHP 5.5的功能冻结已经很久了,我想是时候该发布对流行的PHP 5.4和Drupal 7问题的更新了。
那么,Drupal可以在PHP 5.5上运行吗?
Answers:
简而言之,如果您的站点在PHP 5.3上运行,那么它也将在5.5上运行,请升级!(您的开发环境,直到正式发布为止)
对于简短的答案,这里有更多详细信息。
关于“ Drupal是否可以工作”,从PHP 5.3到5.4到5.5的改动很小。在PHP 5.4下出现的一个问题实际上只是PHP能够更好地告诉开发人员什么时候做错了事,而不是PHP引入的不兼容性。PHP 5.4和Drupal 7对此进行了详细介绍。
尽管在PHP 5.5中没有出现类似的新警告,并且尽管发生了一些变化,但它们不太可能对您的Drupal网站产生负面影响。
运行5.4引起的一个性能问题是APC在支持方面落后。这次将不再是问题,因为5.5现在包含了APC Optimizer +的替代品
Drupal 6:到目前为止,大多数事情都可以在PHP 5.3上正常运行,这意味着它在5.5上也应该可以正常运行。我还没有自己测试一下。
Drupal 7:运行平稳,我从未遇到过任何问题,这主要是因为Drupal 7是在考虑到PHP 5.3的基础上开发的,而在5.4上发现的任何问题早已得到解决。
Drupal 8:从一开始就需要5.3,所以会很好地工作。我自己测试后将更新答案。
在PHP 5.5环境中安装Drupal 7.26的新版本时,我两次加载了“设置数据库”屏幕。在第二次提交表单时,我将获得WSOD。从根路径加载站点得到了404。
我找到了这个补丁(注释45),为我解决了这个问题。正如您在此处所读,这是由于新的PHP缓存系统的工作方式以及存储数据库凭据的settings.php的缓存所致。
将以下行添加到htaccess主文件中可能会有所帮助。
php_value date.timezone America/New_York
php_value error_reporting E_ALL
php_value display_errors 1
php_value display_startup_errors 1
php_value memory_limit 256M
php_value error_reporting E_ALL
让我超越了WSOD,其余的都帮助调试了。
我遇到了一个障碍,试图在Ubuntu 13.10(php 5.5)上安装Drupal 7.26。
Fatal error: Call to undefined function field_attach_load() in /var/www/d7/includes/entity.inc on line 316
我必须应用此补丁-https: //drupal.org/comment/7721819#comment-7721819。
删除了此安装的现有数据库。
重新创建数据库,然后运行install.php
。
对我来说,问题已通过该补丁解决。
field_attach_load()
这似乎是一个Drupal功能和类似的错误已张贴早在2009年,有关Drupal的7
Drupal 7: 检查与标记php 5.4或php 5.5有关的所有问题,以确保您没有使用任何那些版本仍存在问题的模块:https : //drupal.org/project/issues/search?text=&projects= &assigned =&submitted =&project_issue_followers = &&&&& issue_tags_op =%3D&issue_tags = PHP%205.4%2C%20PHP%205.5。
如果您的站点安装了这些模块中的任何一个,我认为最好为Drupal 7坚持使用php 5.3。
Drupal 6也 添加php 5.3标记,因为一些较少使用或维护的模块仍然存在php 5.3问题。