1

画像ファイルをアップロードして保存しようとしています。これは以前は問題なく機能していましたが、現在はエラーが返されています。

警告: move_uploaded_file(//home/bitnami/htdocs/lookgram/photos/1/22.jpeg): ストリームを開けませんでした: /opt/bitnami/apache2/htdocs/lookgram/build/classes/Photo.phpで許可が拒否されました行138

警告: move_uploaded_file(): '/tmp/phpAyWyw4' を '//home/bitnami/htdocs/lookgram/photos/1/22.jpeg' に移動できません/opt/bitnami/apache2/htdocs/lookgram/build /classes/Photo.php 138行目

これはファイル権限エラーのように見えるため、フォルダーの権限は次のとおりです。

drwxrwxr-x 6 bitnami bitnami 4096 Mar 15 01:02 photos

何か案は?

4

1 に答える 1

2

これは、ユーザーphotos/1/のみが書き込み可能であるためです。rootアップロードを機能させるには、そのフォルダーの所有者を httpd プロセスの所有者と同じにするか、グローバルに書き込み可能にする必要があります (悪い習慣)。

  1. Apache プロセスの所有者を確認してください: $ps aux | grep httpd。最初の列は所有者になり、通常はnobody

  2. の所有者をbebe またはステップ 1 で見つけた所有者photos/1/に変更します。nobody

    $sudo chown nobody /home/bitnami/htdocs/lookgram/photos/1/

  3. Chmodphoto/1/は、必要に応じて、所有者が書き込み可能になるようになりました [これは既に用意されているようです]。

    $ sudo chmod -R 0755 /home/bitnami/htdocs/lookgram/photos/1/

  4. この動作が発生する理由の詳細については、マニュアルhttp://php.net/manual/en/ini.core.php#ini.upload-tmp-dirを確認してください。open_basedir ディレクティブについても言及されていることに注意してください。

于 2013-03-15T05:25:17.603 に答える