Internet erişimi olmayan PEAR Kurulumu

3 Cevap php

Ben net outsite erişimi olmayan bir sunucu üzerinde PEAR yüklemeniz gerekir. Orada php klasöründe hiçbir go-pear.bat olduğunu ve go-pear.bat olsaydı bile ben onu net erişimi gerektiğini düşünüyorum.

Ben PEAR web sitesinden bir Installing PEAR from a local copy baktı. Ama o iş için zaten yüklü olması PEAR gerekiyor.

Yani eğer sizler herhangi bir internet erişimi olmayan PEAR yüklemek için nasıl biliyor musunuz?

3 Cevap

Windows üzerinde ve PHP yükleyici varsa bunu yapmak için bir yol yoktur.

Sen PHP kurulum döneminde, seçebilirsiniz, PEAR paketini yüklemek için PHP kurulum için bileşenleri seçerek uzatma menüsü altında PEAR seçeneği.

Zaten PHP kurduysanız, sadece seçim "değiştirmek", ve doğru seçeneği yükleyici tıklamanız gerekiyor.

You don't need PEAR installed on the webhost, just on your local machine. The two main approches are

  • El bağımlılıkları izlemek, ve sunucuya kendiniz için tüm uygun dosyaları kopyalamak
  • Armut yerel makinede yüklü olan, do pear install -R/my/root_dir -a PEAR. Bu belirtilen kök dizinine PEAR paketi ve tüm bağımlılıklarını kuracaktır. Hostunuz için bu yükleme kopyalayın.

Ben de FTP üzerinden bir yükleme yönetmek için armut kullanmak mümkün olduğunu düşünüyorum. Ben hiç denemedim.

Ayrıca "armut yardım" bakmak ve "armut yüklemeniz yardımcı" olmalıdır.

Bu çok konuda bir makale yazdı:

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

Size de armut komutunu kullanmanızı sağlayacak.

Create temporary folder that I will get ride of later.

mkdir pear-temp
cd pear-temp

Upload all the PEAR packages to that temp folder (using SFTP, FTP, Whatever).

If you use a USB key, then you copy them all like this:
cp /mnt/usb/*.tgz ./

Extract the core packages in a separate folder.

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

This bash function is to be able to set the include_path joined by colons.

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

pear requires output buffering and needs to load all the core packages from the lib folder.

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

First we setup our configuration file.

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

Now we install ALL our packages. Make sure you have all the required dependencies as well.

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

Cleanup

cd ..
rm -Rf pear-temp

Put pear in your path:

PATH="$PATH:$HOME/pear"

Edit your .profile or .bashrc if you want this to be permanent.

Edit your php.ini too or add it using set_include_path() function, whichever :)

Drink to sucess!