ITの小技 プログラミング

PHPのバージョン7系でPEARライブラリー、パッケージを使う方法

投稿日:

Xserverでpearを使おうとした時、インストールに詰まってしまったので覚え書き。

XserverにはデフォルトでPEARが入っているということだが、現時点でデフォルトで入ってるライブラリーは下記のもののみ。

自分はこれの他にHTML_QuickFormとかもろもろと別のライブラリーを入れる必要があったので、pear install ○○とやってみたが無理。おなじみのWARNING: channel "pear.php.net" has updated its protocols, use "pear channel-update pear.php.net" to update Cannot install, php_dir for channel "pear.php.net" is not writeable by the current userというエラーメッセージが出てきてしまった。

それならばと、pear channel-update pear.php.netを試みるも、

Updating channel "pear.php.net" could not create lock file: fopen(/var/lib/pear/.lock): failed to open stream: Permission deniedと返ってくる。どうやら普通の設定でコマンド使ってインストールしようとすると、XserverのデフォルトでPEARが入っているディレクトリに入れようとするので、そういう権限はユーザーには無いですよと言われるようだ。

他にも色々とgo-pear.phpとかgo-pear.pharをダウンロードして動かしてはみたもののインストール途中で止まってしまうのだ。公式サイトからダウンロードしたり修正版のやつを試してみてもだめ。テラタームとかで難しい設定付きのコマンドを打てば新規インストールとかできるのかもしれないが、そういうスキルは自分には無いのでどうにかマウス(ブラウザ)でやりたいのだがそれが叶わない。

これぶっちゃけ結論から言うと、go-pear.phpまたはgo-pear.pharは、PHPのvesionが7以上だと、インストール途中で停止してしまうらしいのだ。つまりPEARはアプデされてないし、古すぎて7に対応できないっぽい。もうお手上げだ。

ってことでXserverの運営にどうすれば良いか問い合わせてみたところ、別にレンタルサーバー側でわざわざ頑張ってライブラリーのインストールをしようとしなくても、ローカルで一旦PEARライブラリーをインストール(ダウンロード)して、それをディレクトリごとFTPソフトでサーバーへアップすればライブラリーが使えるという解答。

そういえばローカルのxamppでPEARをインストールするとPHPのディレクトリ内にpearというフォルダができたので、それをそのままXserverにアップしてしまえば良いのだという。なるほど。ただ自分の場合はローカル環境はPHP5系時代から使っているのでなんとかpearのアプデができているから良いものの、ローカル環境を7系から始めた人は一旦5系に落としてからpearを入れないとならないってことになるのか?知らんけど。

なおpearをアップした後はphp.iniにinclude_path = ".:/usr/share/pear:/home/なんちゃら~を書けば使えるようになるのだ。

トップページへ戻る

-ITの小技, プログラミング

Copyright© IT号外 , 2020 All Rights Reserved Powered by STINGER.

search envelope heart star user close search-plus home clock update edit share-square chevron-left chevron-right leaf exclamation-triangle calendar comment thumb-tack link navicon aside angle-double-up angle-double-down angle-up angle-down star-half status image gallery music video category tag chat quote googleplus facebook instagram twitter rss