noshi’s diary

ゲームの事、映画やドラマ、思いついた事、プログラミングの事、雑記的なことを書いています

レンタル共有サーバーでPHP PEARを使う時にはini_setで

f:id:noshigames:20190801042545j:plain

どうもみなさん、おはこんばんちは、noshiです。

 

今回は久しぶりにphpに関する投稿です。

 

わたしはphpでいくつかサイトを作成しているんですが、そのサイトの一部ではPHPライブラリサービスの「PEAR」を利用しています。

 

さて、そのサイトの一部でスクリプトをちょこっといじったら、スクリプトの一部しか表示されなくなってしまいました。

 

いじると言っても、time_set関数を入れただけでした。

 

相当焦りました。とんでもないことをしてしまったーという後悔しかありませんでした。

 

変更前に戻して、アップロードするも改善されません。

 

これ、完全にアカン。。。。

 

セキュリティ的なことはわからず、私自身、プログラム未経験で前任者より引き継いだこともあって原因が見当もつきません。

とにかく正常に動いているページのスクリプトを見てみると・・・認証させるスクリプトの直前に以下の一行が入っていないことがわかりました。

 

ini_set("include_path", '/home/XXX/php:' . ini_get("include_path") );

※ XXXのところはPEARを通しているディレクトリ。

 

これを追記して、再アップロード。

 

結果、正常に以前のようにページが表示されました。

 

不思議なのは、サーバー移転前はこの一行がなくても問題なく閲覧できたことなんですよね。サーバー移転とともにphpのバージョンが上がったことで、この記述が必要になったと勝手に予想しています。

 

index.phpで見つかった今回の件ですが、ほかのファイルを見たら以前のままなので、時間があるときに少しずつ修正していかなければならんね。