我可以使用PHP 5.5吗?


18

鉴于PHP 5.5的功能冻结已经很久了,我想是时候该发布对流行的PHP 5.4和Drupal 7问题的更新了。

那么,Drupal可以在PHP 5.5上运行吗?

Answers:


21

简而言之,如果您的站点在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,所以会很好地工作。我自己测试后将更新答案。


1
我的个人站点已经在PHP 5.5上运行了一段时间,没有出现问题(尽管,这确实是一个非常简单的站点)。我知道的与内核有关的最值得注意的问题是,如果启用了OPcache(APC的内置操作码缓存)安装可能会失败,因此,如果要使用OPcache,则可能需要在安装时将其禁用,然后重新启用它。
Garrett Albright 2013年

@GarrettAlbright我正在研究将D6站点更新为PHP 5.5。当前,管理表单中的日期字段均未显示默认日期值。您是否看到过类似的问题?
帕特里克

帕特里克(Patrick),关于Drupal 6,我无能为力,除非会尽可能建议您升级。该代码库变得越来越古老。
Garrett Albright 2014年

@Letharion:在用PHP5.5测试D8之后是时候更新答案了吗?
雨果

1
@Hugo Hmmm,当然。我忘记了这个特定的问题,虽然我已经建立了D8网站,但我并没有牢记这一点。快速说明一下,我在使用5.5的计算机上尝试了一些beta版,并且一切正常。不过,感谢您的提醒,下次我摆弄D8时会尽量记住它。
Letharion 2015年

3

更新了letharion的答案:

  • Drupal 8现在需要PHP 5.4.2(发布时可能更高),并且支持5.5,尽管不是必需的。
  • 尽管仍然存在问题,但Drupal 6对5.3的支持已经很好,可以将其作为错误处理,因为从D6迁移D8将依赖D6支持的PHP 5.3。

1

在PHP 5.5环境中安装Drupal 7.26的新版本时,我两次加载了“设置数据库”屏幕。在第二次提交表单时,我将获得WSOD。从根路径加载站点得到了404。

我找到了这个补丁(注释45),为我解决了这个问题。正如您在此处所读,这是由于新的PHP缓存系统的工作方式以及存储数据库凭据的settings.php的缓存所致。


1

将以下行添加到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,其余的都帮助调试了。
wolffer-east 2015年

0

我遇到了一个障碍,试图在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

对我来说,问题已通过该补丁解决。


我认为这不一定与PHP版本有关。field_attach_load()这似乎是一个Drupal功能和类似的错误已张贴早在2009年,有关Drupal的7
MrWhite

0

全新安装的drupal-7.26

跑PHP 5.5.9-得到错误:“ ... entity.inc在第316行”

在服务器控制面板中,我将Drupal文件夹更改为使用“ PHP 5.4.25”。然后在浏览器中回击,重新输入安装数据,瞧->启动并运行...

安装主题,一些模块,创建页面;更改回PHP 5.5.9->仍在工作...


0

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问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.