无需访问Internet即可安装PEAR

时间:2009-10-21 07:29:52

标签: php pear

我需要在没有外网访问权限的服务器上安装PEAR。 php文件夹中没有go-pear.bat,即使它有go-pear.bat,我认为它需要访问网络。

我看了PEAR网站上的Installing PEAR from a local copy。但它需要安装PEAR才能工作。

那么你们中的任何人都知道如何安装PEAR而无法访问互联网吗?

3 个答案:

答案 0 :(得分:2)

您不需要在本地计算机上的webhost上安装PEAR。 两个主要的方法是

  • 手动跟踪您的依赖项,并自行将所有相应的文件复制到服务器
  • 在本地计算机上安装pear,执行pear install -R/my/root_dir -a PEAR。这会将PEAR包和所有依赖项安装到指定的根目录。将此安装复制到您的webhost。

我认为使用pear也可以通过FTP管理安装。我从未尝试过。

您还应该查看“pear help”和“pear help install”。

答案 1 :(得分:1)

如果您使用的是Windows并且拥有PHP安装程序,则有一种方法可以执行此操作。

在PHP安装时,您可以在选择用于PHP安装的组件时选择扩展菜单下的PEAR选项,以便安装PEAR包。

如果您已安装PHP,则只需单击安装程序即可选择“修改”,然后选择正确的选项。

http://lh4.ggpht.com/_SDci0Pf3tzU/SgBXLClDWEI/AAAAAAAAEuI/TgnBA_SEHFs/s400/pear%20install.jpg

答案 2 :(得分:1)

我写了一篇关于这个主题的文章:

http://christian.roy.name/blog/install-pear-without-network-no-internet-accessoffline

它也允许您使用pear命令。

创建一个临时文件夹,我将在以后使用。

mkdir pear-temp
cd pear-temp

将所有PEAR包上传到该临时文件夹(使用SFTP,FTP,Whatever)。

如果你使用USB密钥,那么你将它们全部复制如下:
cp /mnt/usb/*.tgz ./

在单独的文件夹中提取核心包。

mkdir lib
tar x -C lib -zf PEAR-*.tgz
tar x -C lib -zf Console_Getopt-*.tgz
tar x -C lib -zf Archive_Tar-*.tgz
tar x -C lib -zf Structures_Graph-*.tgz

此bash函数可以设置由冒号连接的include_path。

function join() {
    local IFS=$1
    shift
    echo "$*"
}

pear需要输出缓冲,需要从lib文件夹加载所有核心包。

PHPOPT="-d output_buffering=1 -d include_path=.:$(join ':' lib/*)"

首先我们设置配置文件。

php $PHPOPT lib/PEAR-*/scripts/pearcmd.php config-create $HOME/ $HOME/.pearrc

现在我们安装所有包裹。确保您还拥有所有必需的依赖项。

php $PHPOPT lib/PEAR-*/scripts/pearcmd.php install -o -O *.tgz

清理

cd ..
rm -Rf pear-temp

将梨放在路径中:

PATH="$PATH:$HOME/pear"

编辑.profile或.bashrc,如果您希望这是永久性的。

编辑你的php.ini或使用set_include_path()函数添加它,无论哪个:)

喝酒成功!