プログラミング学習者(PHP)です。訪問カウンターを練習で作成していますが、ディレクトリにファイルを書き込む権限がない、というエラーが出ます。学習に使用している本には、Mac OS Xなら、ターミナルから $ chmod 705 テ‘ィレク卜リ名 というコマンドを実行すればいいようですが、出来ません。その他のエラー回避方法があれば、ご教示願います。
がんばれ!
パーミッションを指定したいフォルダより上のフォルダのパーミッションはどう?あと705ってのは合ってるんかな?緩めないとダメなケースも多いので。
とりあえず練習だったらchmod 777でいいと思うよ。
sudo がいるとか?
sudoつけなきゃいけないようなとこで書き込みのテストしてると考えるとドキドキしますね...
漢ならrootで行け
既存のファイルに書き込むならオプション-Rを付けておいた方がよいかとおもいます。また他の方もおっしゃってますが親のディレクトリのパーミッションもls -lとかで確認する必要がありそうですね
ご回答、ありがとうございました。但し、小生のレベルでは理解できませんでした。どこを、どうすればいいか、ご教示いただければ幸いです。
chmodとはデータのパーミッション(アクセス権)を変更するコマンドです(アクセス権についてはググってください)。また書き込みしたいファイルが存在するディレクトリ(親)の権限も書き込みを許可していないとファイルには書き込みが出来ません。-Rオプションとは指定したディレクトリの中のデータも再帰的に指定したアクセス権を適応させていくというオプションです(「chmod -R 777 ファイルパス」の様に設定します)。なので書き込みしたいファイルまでのパスを遡ってパーミッションを書き込みできるように設定してみてくださいという事だと思います。というか書き込みしている部分のコードを提示してくれれば他になにか原因があるか分かるかもしれません。
どこをどうするか皆さんすでに回答されているので、まずはわからない単語をひとつひとつ理解して、回答されてる方々の意見のどこがどう分からないのか具体的に聞きましょう。
アクセス権の適用を、『内包している項目に適用』に変えたら、できました。皆様、有り難うございました。
みんなの回答 7 件
がんばれ!
PHP: chmod - Manual
http://php.net/manual/ja/function.chmod.phpパーミッションを指定したいフォルダより上のフォルダのパーミッションはどう?
あと705ってのは合ってるんかな?緩めないとダメなケースも多いので。
とりあえず練習だったらchmod 777でいいと思うよ。
sudo がいるとか?
既存のファイルに書き込むならオプション-Rを付けておいた方がよいかとおもいます。
また他の方もおっしゃってますが親のディレクトリのパーミッションもls -lとかで確認する必要がありそうですね
ご回答、ありがとうございました。但し、小生のレベルでは理解できませんでした。どこを、どうすればいいか、ご教示いただければ幸いです。
どこをどうするか皆さんすでに回答されているので、まずはわからない単語をひとつひとつ理解して、回答されてる方々の意見のどこがどう分からないのか具体的に聞きましょう。
関連するトピックス