少し背景を説明するために、ユーザーが画像をアップロードできるWebサイトを作成しました。画像は後でサイズ変更され、表示されます。Webサイトは完全に機能していましたが、最近新しいサーバーに移動したところ、いくつかの問題が発生しました。この問題はファイルのアクセス許可の結果であると私はほぼ確信しています。アップロードフォルダを777に設定したので、以前にアップロードしたすべてのファイルは問題なく機能しますが、新しいファイルをアップロードすると問題が発生します。SFTPアクセスを使用してファイルがアップロードされると、イメージのアクセス許可は666に設定され、リストされている所有者はapacheです。chmod関数を試すために数行書きましたが、うまくいきませんでした。
<?php
require_once("/var/www/html/wp-load.php");
echo shell_exec('whoami');
$test = wp_getattachment_url(123);
chmod($test, 0755);
//chmod("/var/www/html/wp-content/uploads/image.jpg", 0755);
?>
画面に出力されるのはapacheであるため、ユーザーはファイルの所有者でもありますが、権限の変更は成功していません。