【大阪 / 横浜 / 徳島】インフラ / サーバーサイドエンジニア募集中!

【大阪 / 横浜 / 徳島】インフラ / サーバーサイドエンジニア募集中!

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【導入実績 500社以上】AWS 構築・運用保守・監視サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【CentOS 後継】AlmaLinux OS サーバー構築・移行サービス

【WordPress 専用】クラウドサーバー『ウェブスピード』

【WordPress 専用】クラウドサーバー『ウェブスピード』

XAMPP環境でPEARインストールできないときのTips

システム部の山田です。
今回はWindowsのXampp環境で困ったときのお話。

ある案件で大容量のXMLログファイルを扱う必要があったので、
PEARライブラリのXML_Query2XMLを使ってみようと思ったのですが...

1
2
3
4
5
6
7
8
9
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の設定を確認することに。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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を実行しなさい」ってことだったのでトライ。

1
2
C:\xampp\php>php go-pear.phar
Could not open input file: go-pear.phar

そんなファイルねえ。
Windowsからファイル検索してもありませんでした。

仕方ないのでconfig-set で全部直します。

1
2
3
4
5
6
7
8
9
10
11
12
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

ちゃんと反映されてるか確認

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
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
(略)

直ったので改めてインストール

1
2
3
4
5
6
7
8
9
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

できた!!!!!!!!!!

今回は以上です。

この記事がお役に立てば【 いいね 】のご協力をお願いいたします!
0
読み込み中...
0 票, 平均: 0.00 / 10
2,687
X facebook はてなブックマーク pocket
【2026.6.30 Amazon Linux 2 サポート終了】Amazon Linux サーバー移行ソリューション

【2026.6.30 Amazon Linux 2 サポート終了】Amazon Linux サーバー移行ソリューション

この記事をかいた人

About the author