photo credit: ilConte via photopin cc
こんばんは、ボーノです。
以前作成したWebサービスが、ある日久しぶりに覗いてみると画面の途中で止まってしまっていました。
errorやlogも吐かなかったので、var_dumpとechoを駆使して異常の場所を特定しました。
どうやら、DOM作成時に止まっている様子です。
その時の対応策。
現象
下記コードの2行目で処理が止まっていました。画面が真っ白になってしまいます。
file_get_cntentsでファイルを読み込んだ後、DOMを作成できていないのでは?と予想。
1 2 3 4 5 | $res=@file_get_contents($query); $dom=@DOMDocument::loadHTML($res); $xml=simplexml_import_dom($dom); $result['img']=$xml->xpath("//image1"); $result['title']=$xml->xpath("//title"); |
対処法
まずは疑わしいものをインストールし直す
DOMに関連しそうなソフトをインストールし直しました。具体的には下記3つ。
1 2 3 | sudo yum update sudo yum install php-xml sudo yum install php-devel |
extentionを追加
これだけでは直らなかったので、ググって下記コードを/etc/php.iniの最終行に追加しました。
1 | extention=dom.so |
apacheを再起動
最後に、下記でapacheを再起動して解決しました!良かった。
1 | sudo service httpd restart |