環境
CentOS7
PHP 5.6
Apache
実行するプログラム
php
1$fp = fopen('/var/www/html/data/test.txt', 'w'); 2flock($fp, LOCK_EX); 3fwrite($fp, "aaa"); 4flock($fp, LOCK_UN); 5fclose($fp); 6var_dump($fp);
質問内容
予め「/var/www/html/data」のディレクトリを作成しパーミッションは777にして
ターミナル上から実行する分には正常にtest.txtファイルが作成されますが
ブラウザからアクセスするを作成する事ができません。
権限に問題があると認識しているのですが原因がわからず困ってますのでブラウザからの実行でファイルが生成されるようにする為に確認する箇所と対応方法について教えてください。
SELinuxは? /var/www/html/data のオーナーユーザー:グループは?
```
[root@xxxx xxxxxx]# getenforce
Enforcing
```
になります。
ユーザー、グループ共に「lcadmin」というユーザーになります。
すみませんがご教授の程お願いします。
SELinux を disabled にしてrebootしてもダメでした。
サーバーのエラーログは出てませんか?確認すれば起きてる問題わかるかと思います。
あとvar_dump書かれてますが、ブラウザから実行した場合の結果は?
fwriteもvar_dumpかくにんしたほうがいいかもしれません
$fpのvar_dumpは
bool(false)
でした。
またエラーログは以下になります。
[YYYYMMDD HH:ii:ss] [:error] [pid xxx] [client xxx.xx.xx.xx] PHP Warning: fopen(/var/www/html/data/test.txt): failed to open stream: No such file or directory in /var/www/html/invoice/web/test.php on line 2
かなり重要な情報です。
質問本文に記載してください。
すみません、自己解決しました。