2

我遇到的问题如下:

我可以创建一个新节点,我有两个用于图像的上传字段,最初可以上传没有问题。

我可以回去编辑节点内容并保存,也没有问题。

当我尝试删除任一图像附件并保存节点时,我收到 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 Admin 中更改 ffmpeg 路径的位置。考虑回滚 = /

4

3 回答 3

3

这看起来像服务器升级包括切换到 PHP 5.4(“调用时传递引用”在 5.3 中已弃用,并在 5.4 中删除 - 请参阅通过引用传递)。

因此,这可能是 video_ffmpeg.inc 中的一个错误,因为它试图通过引用传递参数,而这只能通过将参数声明为调用函数签名中的引用来实现。

举个小例子,请参阅PHP 5.4 Call-time pass-by-reference - Easy fix available?

于 2012-04-30T10:01:08.463 回答
0

ffmpeg 路径位于 ffmpeg_wrapper 配置页面中,假设它像几个月前我在 d6 中使用的那样工作。

于 2012-04-30T03:56:43.893 回答
0

我通过使用函数proc_open而不是 exec 解决了这个问题。

于 2015-02-11T09:15:33.753 回答