XAMPP環境でPEARインストールできないときのTips
システム部の山田です。
今回はWindowsのXampp環境で困ったときのお話。
ある案件で大容量のXMLログファイルを扱う必要があったので、
PEARライブラリのXML_Query2XMLを使ってみようと思ったのですが...
C:\xampp\php>pear install XML_Query2XML WARNING: channel "pear.php.net" has updated its protocols, use "pear channel-update pear.php.net" to update Did not download optional dependencies: pear/Net_LDAP2, pear/I18N_UnicodeString, use --alldeps to download automatically pear/XML_Query2XML can optionally use package "pear/Net_LDAP2" pear/XML_Query2XML can optionally use package "pear/I18N_UnicodeString" downloading XML_Query2XML-1.7.2.tgz ... Starting to download XML_Query2XML-1.7.2.tgz (388,604 bytes) .................done: 388,604 bytes ERROR: failed to mkdir C:\php\pear\docs\XML_Query2XML\cases\case01
インストールでエラーが!!!
「failed to mkdir C:\php\pear\docs\XML_Query2XML\cases\case01」???
僕の環境では「C:\xampp\php」以下に創ってほしいんだけどな。。。
こりゃ設定ミスってるな、と思いとりあえずPEARの設定を確認することに。
C:\xampp\php>pear config-show CONFIGURATION (CHANNEL PEAR.PHP.NET): (略) PEAR executables directory bin_dir C:\xampp\php PEAR documentation directory doc_dir C:\php\pear\docs PHP extension directory ext_dir C:\xampp\php\ext PEAR directory php_dir C:\xampp\php\pear PEAR Installer cache directory cache_dir R:\Temp\pear\cache PEAR configuration file cfg_dir C:\php\pear\cfg directory PEAR data directory data_dir C:\php\pear\data PEAR Installer download download_dir R:\Temp\pear\download directory PHP CLI/CGI binary php_bin C:\xampp\php\.\php.exe php.ini location php_ini <not set> --program-prefix passed to php_prefix <not set> PHP's ./configure --program-suffix passed to php_suffix <not set> PHP's ./configure PEAR Installer temp directory temp_dir R:\Temp\pear\temp PEAR test directory test_dir C:\php\pear\tests PEAR www files directory www_dir C:\php\pear\www (略)
doc_dirがちゃっかり「C:\php\pear\docs」になってました。
僕の場合「C:\php」なんてディレクトリはないので、このパス指定になってるとこは全部直さないとダメです。
Google先生に直し方を聞いてみると
「C:\xampp\php\go-pear.pharを実行しなさい」ってことだったのでトライ。
C:\xampp\php>php go-pear.phar Could not open input file: go-pear.phar
そんなファイルねえ。
Windowsからファイル検索してもありませんでした。
仕方ないのでconfig-set で全部直します。
C:\xampp\php>pear config-set doc_dir c:\xampp\php\pear\docs config-set succeeded C:\xampp\php>pear config-set cfg_dir c:\xampp\php\pear\cfg config-set succeeded C:\xampp\php>pear config-set data_dir c:\xampp\php\pear\data config-set succeeded C:\xampp\php>pear config-set temp_dir c:\xampp\php\pear\temp config-set succeeded C:\xampp\php>pear config-set test_dir c:\xampp\php\pear\tests config-set succeeded C:\xampp\php>pear config-set www_dir c:\xampp\php\pear\www config-set succeeded
ちゃんと反映されてるか確認
C:\xampp\php>pear config-show CONFIGURATION (CHANNEL PEAR.PHP.NET): (略) PEAR executables directory bin_dir C:\xampp\php PEAR documentation directory doc_dir c:\xampp\php\pear\docs PHP extension directory ext_dir C:\xampp\php\ext PEAR directory php_dir C:\xampp\php\pear PEAR Installer cache directory cache_dir R:\Temp\pear\cache PEAR configuration file cfg_dir c:\xampp\php\pear\cfg directory PEAR data directory data_dir c:\xampp\php\pear\data PEAR Installer download download_dir R:\Temp\pear\download directory PHP CLI/CGI binary php_bin C:\xampp\php\.\php.exe php.ini location php_ini <not set> --program-prefix passed to php_prefix <not set> PHP's ./configure --program-suffix passed to php_suffix <not set> PHP's ./configure PEAR Installer temp directory temp_dir c:\xampp\php\pear\temp PEAR test directory test_dir c:\xampp\php\pear\tests PEAR www files directory www_dir c:\xampp\php\pear\www (略)
直ったので改めてインストール
C:\xampp\php>pear install XML_Query2XML WARNING: channel "pear.php.net" has updated its protocols, use "pear channel-update pear.php.net" to update Did not download optional dependencies: pear/Net_LDAP2, pear/I18N_UnicodeString, use --alldeps to download automatically pear/XML_Query2XML can optionally use package "pear/Net_LDAP2" pear/XML_Query2XML can optionally use package "pear/I18N_UnicodeString" downloading XML_Query2XML-1.7.2.tgz ... Starting to download XML_Query2XML-1.7.2.tgz (388,604 bytes) .....done: 388,604 bytes install ok: channel://pear.php.net/XML_Query2XML-1.7.2
できた!!!!!!!!!!
今回は以上です。
この記事がお役に立てば【 いいね 】のご協力をお願いいたします!