我遇到的问题如下:
我可以创建一个新节点,我有两个图像上传字段,最初可以毫无问题地上传。
我可以返回并编辑节点内容并保存,也没有问题。
当我尝试删除任一图像附件并保存节点时,出现 500 错误(服务器内部错误)。查看 PHP 日志,这就是我得到的:
[Wed Apr 25 23:34:51 2012] [warn] [client 50.138.84.100] mod_fcgid: stderr: PHP Fatal error: Call-time pass-by-reference has been removed in ../www/sites/all/modules/video/transcoders/video_ffmpeg.inc on line 49, referer: https://www.uleru.com/node/xxx/edit
这种用法在几周前就可以工作,最后一次重大更改是一些软件包的服务器升级(运行 Debian)。不确定这是否是阴谋者,但也许有人看到过类似的事情?
--------------------------------------------------------编辑--- -----------------------------------------------------------
在那个包上做一个节目,这正是发生的事情,ffmpeg 被 libav-tools 弃用了。我试图记住在 Drupal 管理中更改 ffmpeg 路径的位置。考虑回滚=/
最佳答案
这看起来服务器升级包括到 PHP 5.4 的切换(“调用时传递引用”在 5.3 中已弃用,并在 5.4 中删除 - 请参阅 Passing by Reference )。
因此,这可能是 video_ffmpeg.inc 中的一个错误,因为它尝试通过引用传递参数,而只能通过将参数声明为被调用函数签名中的引用来实现这一点。
有关小示例,请参阅 PHP 5.4 Call-time pass-by-reference - Easy fix available?
关于php - Drupal PHP - 仅在删除文件上传和保存时出现内部错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10378117/