我遇到以下问题:
我可以创建一个新节点,我有两个上传字段,用于最初可以上传的图像没问题。
我可以返回并编辑节点内容并保存,也没问题。
当我尝试擦除图像附件并保存节点时,我收到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)。不确定这是否是阴谋者,但也许有些人看到了类似的东西?
------------------------------------------- EDIT --- -----------------------------------------------
在这个软件包上做一个show,这正是发生的事情,libf-tools弃用了ffmpeg。我试图记住在Drupal Admin中更改ffmpeg路径的位置。考虑回滚= /
答案 0 :(得分:3)
这看起来像服务器升级包括切换到PHP 5.4(“调用时间传递引用”在5.3中已弃用,并在5.4中删除 - 请参阅Passing by Reference)。
所以这可能是video_ffmpeg.inc中的一个错误,因为它试图通过引用传递一个参数,它应该只通过将参数声明为被调用函数签名中的引用来实现。
有关小例子,请参阅PHP 5.4 Call-time pass-by-reference - Easy fix available?
答案 1 :(得分:0)
ffmpeg路径位于ffmpeg_wrapper配置页面中,假设它的工作方式与我几个月前在d6中使用的路径相同。
答案 2 :(得分:0)
我通过使用函数 proc_open 而不是exec来解决这个问题。