26

WordPressプラグインの書き方を学びました。XMLファイルにデータを書き込むのに助けが必要です。私はローカルマシン、MAMPを実行しているMacを使用しています。私はPHP5.2.13を持っています。私のプラグインには、次のものがあります。

$file_handle = fopen('markers.xml', 'w');
$stringdata = "Test Info";
fwrite($file_handle, $stringdata);
fclose($file_handle);

上記を実行すると、次のエラーが発生します。

警告:fopen(markers.xml)[function.fopen]:ストリームを開くことができませんでした:73行目の/Users/my_name/Sites/my_site/wp-content/plugins/my_plugin_folder/my_plugin_main_file.phpでアクセスが拒否されました

警告:fwrite():指定された引数は75行目の/Users/my_name/Sites/my_site/wp-content/plugins/my_plugin_folder/my_plugin_main_file.phpの有効なストリームリソースではありません

警告:fclose():指定された引数は76行目の/Users/my_name/Sites/my_site/wp-content/plugins/my_plugin_folder/my_plugin_main_file.phpの有効なストリームリソースではありません

$ file_handle行の絶対パスを使用してみました:http://my_site/wp-content/plugins/my_plugin_folder/markers.xml。しかし、それはうまくいきませんでした。

また、markers.xmlの権限を次のように変更してみました。

(私):読み取りと書き込み(不明):全員の読み取りのみ:読み取りと書き込み

なんらかの理由で、私のMacでは(不明な)読み取りと書き込みに変更できませんでした。それが違いを生むかどうかはわかりません。権限を変更するために、ファイルを右クリックして[情報を見る]を選択しました。

phpInfo()には、次のものがあります。

「登録済みのPHPストリームhttps、ftps、compress.zlib、compress.bzip2、php、file、data、http、ftp」

WordPressの設定が問題を引き起こしていますか?それともPHPの問題ですか?

この問題を解決する方法について何か提案はありますか?

ありがとうございました。

4

2 に答える 2

35

管理者として権限を変更する必要がある場合があります。Macでターミナルを開き、markers.xmlが置かれているディレクトリを開きます。次に次のように入力します。

sudo chmod 777 markers.xml

パスワードの入力を求められる場合があります。また、フルアクセスを許可しないディレクトリである可能性もあります。私はWordPressに精通していないので、mysiteディレクトリに移動する各ディレクトリの権限を変更する必要があるかもしれません。

于 2011-10-05T17:25:10.753 に答える
-5

[function.fopen]: failed to open stream

php.iniファイルにアクセスできる場合は、Fopenを有効にしてみてください。それぞれの行を見つけて「オン」に設定します。&wpの場合、たとえばphp.iniのlocalhost / wordpress / function.fopen:

allow_url_fopen = off
should bee this 
allow_url_fopen = On

And add this line below it:
allow_url_include = off
should bee this 
allow_url_include = on
于 2013-06-19T22:55:46.200 に答える