組み込みのApacheサーバーとphp/mysqlを使用してMacOSX10.8で作業し、moodle2.4で開発しています。
私が抱えている問題は、PHPに一時フォルダがないというエラーメッセージが表示されるので、何でもアップロードしようとする理由です。
次に、これが機能していることがわかっているので、ライブコピーをラップトップにダウンロードしましたが、ローカルホストでも同じエラーが発生しました。
どうすればこれを修正できますか?
php.iniファイルを開き、の値をupload_tmp_dir
確認して、パスが存在することを再確認します。そして、明らかに、そのapacheはそれに書き込みアクセス権を持っています。
これに追加するために、Windowsではphp.iniファイルの同じupload_tmp_dir設定を参照し、IUSRアカウントがこのディレクトリへの完全な制御/書き込みアクセス権を持っていることを確認してください。
open_base_dir
解決策として、問題はphp.ini定数にある可能性があることをお勧めします。この定数に何らかの値がある場合。
open_basedir
paramを削除できます。おそらく、この動きで問題が解決する可能性があります。
上記の解決策は、場合によっては危険な場合があります。:/tmp
表示された場合は、open_basedirを削除するのではなく、
追加することをお勧めしますopen_basedir
。この移動は、コロンの後にPHPtempdirを追加することで完了できますopen_basedir
。
open_basedir = "old-path:/tmp"
次に、ターミナルコマンドを使用してphp7.2-fpmを再起動します
sudo service php7.2-fpm restart
または、PHPのバージョン。
sudo service php7.x-fpm restart
ini_path
通常、php.iniパスは、phpinfo()を呼び出してブロックをナビゲートすることで検出できます
。
/tmpフォルダーの権限を変更しますchmod777/ tmp