2

私が抱えている問題は次のとおりです。

新しいノードを作成できます。最初に問題なくアップロードできる画像用の 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 への切り替えが含まれているようです (「call-time pass-by-reference」は 5.3 で非推奨になり、5.4 で削除されました - Passing by Referenceを参照してください)。

したがって、これは video_ffmpeg.inc のバグである可能性が高く、参照によってパラメーターを渡そうとします。これは、呼び出された関数のシグネチャでパラメーターを参照として宣言することによってのみ行う必要があります。

小さな例については、PHP 5.4 Call-time pass-by-reference - Easy fix available? を参照してください。

于 2012-04-30T10:01:08.463 に答える
0

exec の代わりに関数proc_openを使用してこれを修正しました。

于 2015-02-11T09:15:33.753 に答える
0

ffmpeg パスは、数か月前に d6 で使用したものと同じように機能すると仮定して、ffmpeg_wrapper 構成ページにあります。

于 2012-04-30T03:56:43.893 に答える