web-dev-qa-db-ja.com

「PHP一時フォルダが設定されていません」という警告/エラーを修正するにはどうすればよいですか?

私はJoomla 3.7.1 Webサイトを新しいサーバーに移行しようとしています-従来のAkeebaBackup移行を使用して(ほとんど)成功しています。

ソースサイト/サーバーが実行中PHP 5.6.30、宛先サイト/サーバーがEasyApache 4で実行中PHP 7.1.

宛先サイトで私が目にする最も明白な問題は、拡張機能>管理>警告内にメッセージ"The PHP一時フォルダが設定されていません。"が表示されることです-そして、私はその理由を理解できません。

  • 一時フォルダーのパスは、[グローバル構成]> [サーバー]> [一時フォルダーへのパス]で定義されています(これは、configuration.phpファイル内に正しく反映されます)。
  • 一時フォルダーのパスは、Joomlaルートのphp.iniファイルでも定義されています。
  • Joomla記事、またはサイトのルートにあるカスタム.phpファイルを使用してphpinfoを実行すると、upload_tmp_dir値は、定義されたフォルダーパスを正しく返します。
  • 私の一時フォルダーは存在し、適切なアクセス許可(0755)を持っています-完全に機能するソースサイトのアクセス許可と同じです。

しかしながら ...

  • Joomla自身のSYSTEM> SYSTEM INFORMATION> PHP INFORMATION、upload_tmp_dirvalueを介してphpinfoを見ると、「値なし」と完全に矛盾していますphpinfoの結果は別の場所で実行されます(前述のとおり)。

だから私の質問は、非常に簡単に言えば、メッセージをどのように修正するかです"PHP一時フォルダが設定されていません。"-そして、なぜJoomla自身のphpinfoがupload_tmp_dirそれ以外の場合は?ソースサイトにはこの問題はありません。

もう1つ注目すべき違いは、EasyApache 3からEasyApache 4への切り替え以降、カスタムphp.iniファイルを定義するためにsuPHP_ConfigPathを使用しなくなったことです(私はソースサイトにいるので)-代わりに、cPanel内で 'MultiPHP INI Editor'を使用しています。upload_tmp_dirは、含まれているパラメーターは、エディターモードで追加しました。

どんな考えでも事前に感謝します。

5
Hobbes

Phpのtmpディレクトリが設定されていなくても、Joomlaは問題なく動作する可能性があります。ただし、問題が発生した場合、またはJoomla管理でこの警告を単に取り除きたい場合は、php設定で upload-tmp-dir ディレクティブ。

ホスティング/サーバー環境のセットアップは、Joomlaの問題ではありません。このコアphp.iniディレクティブを定義するのに役立つJoomlaの内部には何もありません。また、Joomlaのtmpディレクトリの設定は、php upload_tmp_dirの設定とは異なることにも注意してください。

これらすべてを念頭に置き、提供された情報を考慮に入れて問題を解決すると、セットアップの何が問題であるかを言うのが難しくなります。

確かに、upload_tmp_dirが設定されていないことがわかった場合、少なくともバックエンドについては、これが設定です。ホスティングプロバイダー/システム管理者に連絡すれば、数分で問題が解決されると思います。それ以外の場合、php.iniファイルがバックエンドに読み込まれているJoomlaのシステム情報(phpinfo)ページを見て、それらの設定を確認すると、手掛かりが得られる可能性があります。

ああ-そして通常、php.iniファイルに変更を加えた後は、Apacheを再起動する必要があります。

3
FFrewin

手順1:アップグレードパッケージをFTP経由でサーバーにアップロードするか、cpanelファイルマネージャーで抽出するだけです。

ステップ2:管理サイトへのインストール後にのみエラーが表示されます。拡張機能、管理、データベースに移動し、「修正」ボタンを押します。

2
Medin Mon