ファイルは/ tmpに存在しますが、PHPはCentOSで「そのようなファイルまたはディレクトリはありません」を返します

レインマンヌードル

PHPでは、私はこれを受け取ります:Warning: fopen(/tmp/mydir/file.txt): failed to open stream: No such file or directory呼び出すときfopen ('/tmp/mydir/file.txt', "r");

しかしながら:

cd /tmp
ls -l .
drwxrwxr-x 2 user  4.0K Aug 19 14:09 mydir
ls -l mydir
-rw-rw-r-- 1 user 41K Aug 19 14:09 file.txt

やろうとするprint_r(scandir('/tmp/'));と、空の配列が表示されます。print_r(scandir('/tmp/mydir/'));私が得ることをしていますfailed to open dir: No such file or directoryただし、実行するとprint_r(scandir('/home/user/'));戻りますfailed to open dir: Permission denied何らかの理由で、のディレクトリには/tmp、存在していてもそのようなファイルやディレクトリは表示されません。また、これは権限の問題ではなく、問題が発生した場合は、権限エラーが発生する(はずです)。

ここで何が欠けていますか?それともこれは既知のバグですか?

アギディーニ

PrivateTmp機能に問題がある可能性があります。/tmpと/ var / tmpをそのプロセスにのみ表示されるようにマウントするため、すべてのプロセスが異なる仮想/ tmpフォルダーを認識します。

変更したい場合は/etc/systemd/system/php-fpm.service.d/private-tmp.conf、以下の内容で作成できます

[Service] PrivateTmp=false

修正のソース:/ tmpのコンテンツがPHP-FPMから表示されない

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ