質問: VPSサーバーを初めて利用しているのですが、phpを利用してファイルの生成ができません! 同じフォルダ内に「aaa.txt」という、テキストファイルを生成するプログラムなのですが、以下のようなエラーが出ています。 Warning: fopen(aaa.txt) [function.fopen]: failed to open stream: Permission denied in /var/www/vhosts/abcdefg.com/httpdocs/test.php on line 6 ソースコードはこちらです。 パーミッションが原因だと考え、実行ファイルがあるフォルダのパーミッションを「777」にしても実行不可でした。 普通のレンタルサーバーで、同じ実行ファイルを試したところ、「aaa.txt」が無事に生成できたのも確認しました。 これはVPS独特の症状なのでしょうか?? どこの設定を変えればいいのかわかららず困っています。 ちなみに契約しているVPSは「使えるねっと」と「ラピッドサイト」です。 どちらも試しましたが、エラーがでて実行できませんでした。 以上よろしくお願いします。
回答: PHPのプログラムを実行した際のカレントディレクトリに書き込み権限がないからエラーになっているんですね。 ファイル名をフルパスで記述すれば、問題ないと思います。 $filename = "/var/www/vhosts/abcdefg.com/httpdocs/aaa.txt"; と言うようにすればOKのハズです。