人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

ソースコードはこちらです。

<?php
$filename = "aaa.txt";
//ファイル生成&書き込み
$handle = fopen( $filename, 'w');
fwrite( $handle, $honbun);
fclose( $handle );
?>

パーミッションが原因だと考え、実行ファイルがあるフォルダのパーミッションを「777」にしても実行不可でした。
普通のレンタルサーバーで、同じ実行ファイルを試したところ、「aaa.txt」が無事に生成できたのも確認しました。
これはVPS独特の症状なのでしょうか??
どこの設定を変えればいいのかわかららず困っています。

ちなみに契約しているVPSは「使えるねっと」と「ラピッドサイト」です。
どちらも試しましたが、エラーがでて実行できませんでした。

以上よろしくお願いします。


●質問者: serimaryo
●カテゴリ:インターネット ウェブ制作
✍キーワード:777 AAA ON open PHP
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● pahoo
●35ポイント

VPSでは、セキュリティ上、パーミッション777を許可していない場合があります。


基本的なことですが、スクリプトを設置するフォルダと、データを保管するフォルダは分けてください。前者のパーミッションは705、後者は600です。

詳細は下記を参考にしてください。


2 ● pismo
●35ポイント

PHPのプログラムを実行した際のカレントディレクトリに書き込み権限がないからエラーになっているんですね。

ファイル名をフルパスで記述すれば、問題ないと思います。


$filename = "/var/www/vhosts/abcdefg.com/httpdocs/aaa.txt";


と言うようにすればOKのハズです。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ