[PHP] simplexml_load_fileが妙に遅いときがある
WEB上にあるとあるXMLを読み込むのに、以下のようにやると非常に遅い。
simplexml_load_fileを使ってXMLを読み込む
$xml = simplexml_load_file('http://hoge.com/sample.xml');
(5.019sec)
んー…
WEB上にあるとあるXMLを読み込むのに、以下のようにやると非常に遅い。
$xml = simplexml_load_file('http://hoge.com/sample.xml');
(5.019sec)
んー…
3重くらいに今さらですが、Smartyプラグインがマイブームです。多分あとで後悔することになるとは思いますが、オプション的な機能をSmartyプラグインで分割していくとテンプレートと処理プログラムがすっきりするのが快感で。とりあえず無理しない範囲で分割していたり。 で、Twitterへの投稿をサポートする目的でURLを短縮する必要が出てきて、まぁ別にJavaScriptでも良かったんですが、個人的に応用しやすいのはJavaScriptよりSmartyプラグインの方だったのでさっくりプラグインを作りました。 なお使用に当たっては、tknzkさん謹製のopenpear/Services_Bitlyを利用させていただきました。感謝します。
Codeのリニューアルに合わせて、日の出・日の入り計算用ライブラリを書き直し、「Suntime.php」として改めてリリースしました。PEARとかに上げれたら良かったんですが、コードの内容はもとより形式などかなり不安だったのでとりあえずGist@GitHubにあげてあります。
キャッシュの用途の問題で、memcachedではないキャッシュを使おうと思って色々調べたのだけど、やっぱり管理面の容易さを考えてTokyoTyrantかなぁってことで、試してみた。
Net_TokyoTyrantとは? PurePHPで書かれた、TokyoTyrantのネイティブなインターフェースを叩くライブラリです。 memcache互換のインターフェースなどとは違い、TokyoTyrantのLUA拡張などTokyoTyrant本来の機能をほぼすべて使えるというのが特徴で
先に結論を書いておくと、W3CからDTDファイルのリクエストに対して503 Service Unavailableが返されていたため、DOM周りのプログラムが上手く動かなくなったことが原因でした。
PHP5ではmkdirにrecursive(再帰的にディレクトリを生成する)が実装されているらしい。 マニュアル読んで初めて知ったw 例えば、以下のようなディレクトリ構造を作成したい場合、 (a, b, cとも存在しないディレクトリ、十分なパーミッションがあるものとする)
/a/b/c
次のように書けば実現できる。
mkidir('/a/b/c', 任意のモード, true);
mkdirなんて改めてマニュアル読んだりしないからなぁ。
マニュアル読むのって大事ね。
PHP: mkdir – Manual
自分の無知さ加減を思い知ったのでメモっておく。泥縄、付け焼き刃注意。
先日、某サーバがいっぱいいっぱいになって突貫対応したんだけど、そのときついでにPHPのメモリ制限をきつめに変更した。んで、今日色々と調べてたら更新系のスクリプトがいくつか動いて無くて、結局メモリ食い過ぎるためだということが判明。2. PHPのメモリ割り当てを変更した いくらメモリに余裕あってもさすがにそんなに割り当てる必要はないだろJK…ということで減らした。memory_limit = 32M ← 変更前:256M
色々ついでにアップしておこうと思ってインターフェイスからupgradeしようと思ったら、順番の問題なのか上手くupgradeが終了せずに怒られた。
Warning: require_once(PEAR/Remote.php) [function.require-once]: failed to open stream: No such file or directory in /hoge/PEAR/Frontend/Web.php on line 35 Fatal error: require_once() [function.require]: Failed opening required ‘PEAR/Remote.php’ (include_path=’/hoge/PEAR’) in /hoge/PEAR/Frontend/Web.php on line 35