はじめまして。初投稿させていただきます。
下記実現したいことがあるのですがうまくいかず苦戦しております。
お知恵を貸していただけると幸いです。よろしくお願いいたします。
実現したいこと
nginx(LaraDock)上にあるPHPアプリケーションから「tmp」ディレクトリ配下にある外部ファイル(test.txt)を参照したいです。
発生している問題
「/tmp」ディレクトリ配下にある「test.txt」を参照できずに困っています。
「/var/www/」ディレクトリ配下に外部ファイル(test.txt)がある場合は参照できています。
下記のソースコードを実行すると以下の文言が表示されます。
/tmp/test.txt は存在しません
「tmp」ディレクトリには目的のファイルが存在することは確認済みです。
text
1bash-4.4# ls -l / 2total 56 3drwxr-xr-x 2 root root 4096 May 13 10:57 bin 4drwxr-xr-x 5 root root 340 Jul 15 06:35 dev 5drwxr-xr-x 30 root root 4096 May 27 08:12 etc 6drwxr-xr-x 2 www-data www-data 4096 Jul 14 09:03 hoge 7drwxr-xr-x 2 root root 4096 Jan 9 2018 home 8drwxr-xr-x 7 root root 4096 May 13 10:57 lib 9drwxr-xr-x 5 root root 4096 Jan 9 2018 media 10drwxr-xr-x 2 root root 4096 Jan 9 2018 mnt 11dr-xr-xr-x 190 root root 0 Jul 15 06:35 proc 12drwx------ 2 root root 4096 Jul 15 06:40 root 13drwxr-xr-x 2 root root 4096 Jul 15 06:35 run 14drwxr-xr-x 2 root root 4096 May 13 10:57 sbin 15drwxr-xr-x 2 root root 4096 Jan 9 2018 srv 16dr-xr-xr-x 13 root root 0 Jul 15 06:35 sys 17drwxrwxrwx 2 www-data www-data 4096 Jul 14 07:42 tmp 18drwxr-xr-x 18 root root 4096 Jul 15 09:00 usr 19drwxr-xr-x 17 root root 4096 Jul 15 08:42 var 20bash-4.4#
text
1bash-4.4# ls -l /tmp/ 2total 4 3-rwxrwxrwx 1 www-data www-data 10 Jul 15 08:38 test.txt 4bash-4.4#
text
1$docker ps 2CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 3b572c6da36ff laradock_nginx "nginx" 7 weeks ago Up 22 hours 0.0.0.0:443->443/tcp, 80/tcp, 0.0.0.0:8888->8888/tcp laradock_nginx_1 46b826def15b2 laradock_php-fpm "php-fpm" 7 weeks ago Up 2 weeks 9000/tcp laradock_php-fpm_1 53082d1768e27 laradock_workspace "/sbin/my_init" 7 weeks ago Up 2 weeks 0.0.0.0:2222->22/tcp laradock_workspace_1 66c3dc7bf9f42 laradock_phpmyadmin "/run.sh phpmyadmin" 7 weeks ago Up 2 weeks 9000/tcp, 0.0.0.0:88->80/tcp laradock_phpmyadmin_1 7b1f4a846a4f7 laradock_mysql "docker-entrypoint.s…" 2 months ago Up 2 weeks 0.0.0.0:3306->3306/tcp laradock_mysql_1
該当のソースコード
php
1 $filename = '/tmp/test.txt'; 2 if (file_exists($filename)) { 3 echo "$filename が存在します"; 4 } else { 5 echo "$filename は存在しません"; 6 }
試したこと
- 「/tmp」ディレクトリ以外のディレクトリにファイルを配備して検証。
(/var/tmp、/usr/local)
- 「/tmp」ディレクトリ配下のパーミッションをフル権限に変更し検証。
- nginxとphp-fpmとworkspaceの3つすべてに/tmp/test.txtを配置。
text
1[workspace] 2root@3082d1768e27:/tmp# ls -ltr 3total 4 4-rwxrwxrwx 1 www-data www-data 15 Jul 16 04:37 test.txt 5root@3082d1768e27:/tmp#
text
1[php-fpm] 2root@6b826def15b2:/tmp# ls -ltr 3total 8 4drwxr-xr-x 3 root root 4096 Aug 10 2016 pear 5-rwxrwxrwx 1 www-data www-data 13 Jul 16 04:42 text.txt 6root@6b826def15b2:/tmp#
text
1[nginx] 2bash-4.4# cd /tmp/ 3bash-4.4# ls -ltr 4total 4 5-rwxrwxrwx 1 www-data www-data 10 Jul 15 08:38 test.txt 6bash-4.4#
補足情報(FW/ツールのバージョンなど)
- Windows 10 Home
- Docker Toolbox
- nginx(laradock) 1.13.12
- PHP 7.2.6
- Linux b572c6da36ff 4.9.93-boot2docker #1 SMP Thu May 10 16:27:54 UTC 2018 x86_64 Linux
あなたの回答
tips
プレビュー