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]
コメントを追加