PEAR安裝

王明輝發表於2016-08-07

看到PEAR章節,提到安裝PEAR需要go-pear.bat,我機器上的PHP(v7.0.8)目錄下,並沒有go-pear.bat這個檔案,網上查了一遍,怎麼說的都有,最後還是在官網上找到解決方案。

http://pear.php.net/manual/en/installation.getting.php

Windows

After you have downloaded and installed PHP, you have to manually execute the batch file located in e.g. c:\php\go-pear.bat. Alternatively, download https://pear.php.net/go-pear.phar with your browser and save the output to a local file named go-pear.phar. You can then run

php go-pear.phar

in a Windows Command Prompt to start the installation.

The setup will ask you some questions and afterwards the PEAR Package Manager will be installed in the path, which you have specified during installation.

Finally you have to add that installation path to your PATH environment. Either do this manually (Start > Control Panel > System > Environment) or run (double-click) the newly generated PEAR_ENV.reg that's now found in the PHP source directory.

After that you can access the PEAR Package Manager by running the command pear in a Windows Command Prompt.

After changing php.ini, you will need to restart your web server.

Now check that PEAR works.

 

為什麼目錄下有可能不存在go-pear.bat?這是個問題。

大概是以下幾個原因:

1.歷史原因,曾經發布的包裡是包含go-pear.bat的,現在新版本的已經取消【如此重要的擴充套件庫,是不是天然包含更好一些?】

 

有待研究,慢慢補充

 

 

 

 

=====================================================================================

Microsoft Windows [版本 10.0.10586]
(c) 2015 Microsoft Corporation。保留所有權利。
 
D:\PHPx64>php go-pear.php
Sorry! Your PHP version is too new (7.0.8) for this go-pear.
Instead use http://pear.php.net/go-pear.phar for a more stable and current
version of go-pear, more suited to your PHP version.
 
Thank you for your coopertion and sorry for the inconvenience!【這裡有個錯誤單詞,誰知道如何提交給PHP官方?】
 
D:\PHPx64>php go-pear.phar
 
Are you installing a system-wide PEAR or a local copy?
(system|local) [system] : local
Please confirm local copy by typing 'yes' : yes
 
Below is a suggested file layout for your new PEAR installation. To
change individual locations, type the number in front of the
directory. Type 'all' to change all of them or simply press Enter to
accept these locations.
 
1. Installation base ($prefix) : D:\PHPx64
2. Temporary directory for processing : D:\PHPx64\tmp
3. Temporary directory for downloads : D:\PHPx64\tmp
4. Binaries directory : D:\PHPx64
5. PHP code directory ($php_dir) : D:\PHPx64\pear
6. Documentation directory : D:\PHPx64\docs
7. Data directory : D:\PHPx64\data
8. User-modifiable configuration files directory : D:\PHPx64\cfg
9. Public Web Files directory : D:\PHPx64\www
10. System manual pages directory : D:\PHPx64\man
11. Tests directory : D:\PHPx64\tests
12. Name of configuration file : D:\PHPx64\pear.ini
13. Path to CLI php.exe : D:\PHPx64
 
1-13, 'all' or Enter to continue:
Beginning install...
Configuration written to D:\PHPx64\pear.ini...
Initialized registry...
Preparing to install...
installing phar://D:/PHPx64/go-pear.phar/PEAR/go-pear-tarballs/Archive_Tar-1.4.0.tar...
installing phar://D:/PHPx64/go-pear.phar/PEAR/go-pear-tarballs/Console_Getopt-1.4.1.tar...
installing phar://D:/PHPx64/go-pear.phar/PEAR/go-pear-tarballs/PEAR-1.10.1.tar...
installing phar://D:/PHPx64/go-pear.phar/PEAR/go-pear-tarballs/Structures_Graph-1.1.1.tar...
installing phar://D:/PHPx64/go-pear.phar/PEAR/go-pear-tarballs/XML_Util-1.3.0.tar...
install ok: channel://pear.php.net/Archive_Tar-1.4.0
install ok: channel://pear.php.net/Console_Getopt-1.4.1
install ok: channel://pear.php.net/Structures_Graph-1.1.1
install ok: channel://pear.php.net/XML_Util-1.3.0
install ok: channel://pear.php.net/PEAR-1.10.1
PEAR: Optional feature webinstaller available (PEAR's web-based installer)
PEAR: Optional feature gtkinstaller available (PEAR's PHP-GTK-based installer)
PEAR: Optional feature gtk2installer available (PEAR's PHP-GTK2-based installer)
PEAR: To install optional features use "pear install pear/PEAR#featurename"
 
******************************************************************************
WARNING! The include_path defined in the currently used php.ini does not
contain the PEAR PHP directory you just specified:
<D:\PHPx64\pear>
If the specified directory is also not in the include_path used by
your scripts, you will have problems getting any PEAR packages working.
 
 
Would you like to alter php.ini <D:\PHPx64\php.ini>? [Y/n] : y
 
php.ini <D:\PHPx64\php.ini> include_path updated.
 
Current include path : .;C:\php\pear
Configured directory : D:\PHPx64\pear
Currently used php.ini (guess) : D:\PHPx64\php.ini
Press Enter to continue:
 
** WARNING! Old version found at D:\PHPx64, please remove it or be sure to use the new d:\phpx64\pear.bat command
 
The 'pear' command is now at your service at d:\phpx64\pear.bat
 
** The 'pear' command is not currently in your PATH, so you need to
** use 'd:\phpx64\pear.bat' until you have added
** 'D:\PHPx64' to your PATH environment variable.
 
Run it without parameters to see the available actions, try 'pear list'
to see what packages are installed, or 'pear help' for help.
 
For more information about PEAR, see:
 
http://pear.php.net/faq.php
http://pear.php.net/manual/
 
Thanks for using go-pear!
 ==================================================================================
按書上操作,假設希望安裝Auth包,此命令和相應的輸出如下:
 
D:\PHPx64>pear install auth
WARNING: channel "pear.php.net" has updated its protocols, use "pear channel-update pear.php.net" to update
WARNING: "pear/DB" is deprecated in favor of "pear/MDB2"
WARNING: "pear/MDB" is deprecated in favor of "pear/MDB2"
WARNING: "pear/HTTP_Client" is deprecated in favor of "pear/HTTP_Request2"
Package "vpopmail" does not have REST info xml available
Package "kadm5" does not have REST info xml available
Did not download optional dependencies: pear/Log, pear/File_Passwd, pear/Net_POP3, pear/DB, pear/MDB, pear/MDB2, pear/Auth_RADIUS, pear/Crypt_CHAP, pear/File_SMBPasswd, pear/HTTP_Client, pear/SOAP, pear/Net_Vpopmaild, pecl/vpopmail, pecl/kadm5, use --alldeps to download automatically
pear/Auth can optionally use package "pear/Log" (version >= 1.9.10)
pear/Auth can optionally use package "pear/File_Passwd" (version >= 1.1.0)
pear/Auth can optionally use package "pear/Net_POP3" (version >= 1.3.0)
pear/Auth can optionally use package "pear/DB" (version >= 1.6.0)
pear/Auth can optionally use package "pear/MDB"
pear/Auth can optionally use package "pear/MDB2" (version >= 2.0.0RC1)
pear/Auth can optionally use package "pear/Auth_RADIUS"
pear/Auth can optionally use package "pear/Crypt_CHAP" (version >= 1.0.0)
pear/Auth can optionally use package "pear/File_SMBPasswd" (version >= 1.0.0)
pear/Auth can optionally use package "pear/HTTP_Client" (version >= 1.1.0)
pear/Auth can optionally use package "pear/SOAP" (version >= 0.9.0)
pear/Auth can optionally use package "pear/Net_Vpopmaild" (version >= 0.1.0)
pear/Auth can optionally use package "pecl/vpopmail" (version >= 0.2)
pear/Auth can optionally use package "pecl/kadm5" (version >= 0.2.3)
pear/Auth can optionally use PHP extension "imap"
pear/Auth can optionally use PHP extension "saprfc"
pear/Auth can optionally use PHP extension "soap"
downloading Auth-1.6.4.tgz ...
Starting to download Auth-1.6.4.tgz (56,771 bytes)
..............done: 56,771 bytes
ERROR: failed to mkdir C:\php\pear\data\Auth\Auth\Frontend
 
最後告訴我failed to mkdir C:\php\pear\data\Auth\Auth\Frontend,然而,我的PHP裝在了D盤,這該如何是好?!?有沒有提供一種指定路徑的方式?或者,在哪裡能改?
既然說failed to mkdir,有可能是因為許可權,我是從“執行”中啟動的cmd,找到快捷方式後,以管理員許可權執行,這次報install ok:channel://pear.php.net/Auth-1.6.4,看來是安裝成功。然後,按照剛才報錯的理解,應該是裝到C:\php\pear\裡了,經查,確實在。那麼,把C盤的pear目錄複製到我的D盤PHP的pear目錄。
這種方式,非常不智慧。
 
http://pear.php.net/packages.php
這裡是可安裝的包
 
安裝go-pear之後,會在php.ini中增加一行:
;***** Added by go-pear
include_path=".;D:\PHPx64\pear"
;*****
所以,使用require_once時,直接使用require_once("Numbers/Roman.php");即可。
 

相關文章