2012年6月28日木曜日

phpの設定いろいろでハマったのでメモ

php.iniとか編集してますか??

そこらへん余りわかってない部分が多くてはまったのでメモ。

今回はphpのfile_get_contentsとfile_put_contentsではまりました。

まずはfile_get_contents。
これはurlやパスからファイル情報をとってくる関数ですね。

この関数はphp.iniの設定において
allow_url_fopen = Off

となってると使えません。
自作サーバとかでphp.iniを自由にいじれるときはいじればいいですね。
ただ、レンタルサーバなどでphp.iniをいじれない。
phpのini_set関数も使えない。

んなときはcurlでやりましょう。
参考:http://blog.mach3.jp/2010/12/use-curl-for-filegetcontents.html

これによるとcurlのんが早かったりするみたいですねw
基本こっちのんがいいのかも。
めんどいけど。

もう一つはfile_put_contents。
これはfile_get_contentsなどでとってきたファイルを特定の場所に保存する関数ですね。

ファイルを保存する動作なので、権限でよくひっかかりそう。。

そう権限設定がやたらとややこいです。
参考:http://sb.xrea.com/showthread.php?t=10222
公式ドキュメントみただけではなんのこっちゃわからんので、上記の例がわかりやすいです。

つまり、phpでmkdir("hogehoge");とかしてフォルダを作るとそのフォルダのオーナーはApacheです。
Apacheがオーナーのフォルダ内に新たにファイルを作成することができないことがあるよ!
ってことらしいです。
カオスですね。

ということで忘れないようにメモ。
php.iniとかhttp.confとかちゃんと勉強しないとですね。

0 件のコメント:

コメントを投稿