php5.5.0.tar.bz2,php53

本文目錄一覽:

如何在linux下安裝多個不同版本的PHP

Linux (測試環境 Ubuntu 12.04 Server X86_64)

1. 安裝編譯工具及所需類庫

$ sudo apt-get install build-essential gcc g++ autoconf libjpeg62 libjpeg62-dev libpng12-0 libpng12-dev libfreetype6 libfreetype6-dev libxml2 libxml2-dev zlib1g zlib1g-dev bzip2 libbz2-dev openssl libssl-dev curl libcurl4-openssl-dev libpcre3 libpcre3-dev libevent-1.4-2 libevent-dev libmcrypt4 libmcrypt-dev mcrypt libltdl-dev libldap2-dev libsasl2-dev libmhash-dev libc-client2007e libc-client2007e-dev

2. 安裝MySQL

$ sudo apt-get install mysql-server libmysqlclient-dev

3. 安裝PHP

Linux下多版本PHP共存需要自己手工編譯安裝。

下載PHP源文件到/opt/src目錄

$ mkdir /opt/src

$ cd /opt/src

$ wget -O php-5.2.17.tar.bz2

$ wget -O php-5.3.28.tar.bz2

$ wget -O php-5.4.29.tar.bz2

$ wget -O php-5.5.14.tar.bz2

創建PHP各版本安裝目錄

$ mkdir -p /opt/php/{5217,5328,5429,5514}

安裝PHP 5.2.17

$ cd /opt/src

$ tar -xvjf php-5.2.17.tar.bz2

$ cd php-5.2.17

$ sudo ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so /usr/lib/libjpeg.so

$ sudo ln -s /usr/lib/x86_64-linux-gnu/libpng.so /usr/lib/libpng.so

$ sudo ln -s /usr/lib/x86_64-linux-gnu/libkrb5.so /usr/lib/libkrb5.so

$ wget -O debian_patches_disable_SSLv2_for_openssl_1_0_0.patch 「;patch=debian_patches…」

$ patch -p1 debian_patches_disable_SSLv2_for_openssl_1_0_0.patch

$ ./configure –prefix=/opt/php/5217 –with-config-file-scan-dir=/opt/php/5217/etc/php.d –with-mysql –with-pdo-mysql –with-mysqli –with-iconv-dir –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-libxml-dir=/usr –enable-xml –enable-discard-path –enable-safe-mode –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –with-curl –with-curlwrappers –enable-mbregex –enable-fastcgi –enable-force-cgi-redirect –enable-mbstring –with-mcrypt –with-gd –enable-gd-native-ttf –with-openssl –with-mhash –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –enable-ftp –disable-debug –disable-ipv6 –disable-short-tags –enable-calendar –with-mime-magic –with-imap –with-imap-ssl –with-kerberos

$ make

$ sudo make install

$ cp php.ini-recommended /opt/php/5217/lib/php.ini

安裝PHP 5.3.28

$ cd /opt/src

$ tar -xvjf php-5.3.28.tar.bz2

$ cd php-5.3.28

$ ./configure –prefix=/opt/php/5328 –with-config-file-scan-dir=/opt/php/5328/etc/php.d –with-mysql –with-pdo-mysql –with-mysqli –with-iconv-dir –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-libxml-dir=/usr –enable-xml –enable-safe-mode –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –with-curl –with-curlwrappers –enable-mbregex –enable-mbstring –with-mcrypt –with-gd –enable-gd-native-ttf –with-openssl –with-mhash –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –enable-ftp –disable-debug –disable-ipv6 –disable-short-tags –enable-calendar –with-imap –with-imap-ssl –with-kerberos

$ make

$ sudo make install

$ cp php.ini-development /opt/php/5328/lib/php.ini

安裝PHP 5.4.29

$ cd /opt/src

$ tar -xvjf php-5.4.29.tar.bz2

$ cd php-5.4.29

$ ./configure –prefix=/opt/php/5429 –with-config-file-scan-dir=/opt/php/5429/etc/php.d –with-mysql –with-pdo-mysql –with-mysqli –with-iconv-dir –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-libxml-dir=/usr –enable-xml –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –with-curl –with-curlwrappers –enable-mbregex –enable-mbstring –with-mcrypt –with-gd –enable-gd-native-ttf –with-openssl –with-mhash –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –enable-ftp –disable-debug –disable-ipv6 –disable-short-tags –enable-calendar –with-imap –with-imap-ssl –with-kerberos

$ make

$ sudo make install

$ cp php.ini-development /opt/php/5429/lib/php.ini

安裝PHP 5.5.14

$ cd /opt/src

$ tar -xvjf php-5.5.14.tar.bz2

$ cd php-5.5.14

$ ./configure –prefix=/opt/php/5514 –with-config-file-scan-dir=/opt/php/5514/etc/php.d –with-mysql –with-pdo-mysql –with-mysqli –with-iconv-dir –with-freetype-dir –with-jpeg-dir –with-png-dir –with-zlib –with-libxml-dir=/usr –enable-xml –enable-bcmath –enable-shmop –enable-sysvsem –enable-inline-optimization –with-curl –enable-mbregex –enable-mbstring –with-mcrypt –with-gd –enable-gd-native-ttf –with-openssl –with-mhash –enable-pcntl –enable-sockets –with-xmlrpc –enable-zip –enable-soap –enable-ftp –disable-debug –disable-ipv6 –disable-short-tags –enable-calendar –with-imap –with-imap-ssl –with-kerberos

$ make

$ sudo make install

$ cp php.ini-development /opt/php/5514/lib/php.ini

4. 安裝Apache

$ sudo apt-get install apache2

啟用相應模塊

$ a2enmod headers

$ a2enmod expires

$ a2enmod actions

$ a2enmod rewrite

5. 配置Apache

$ sudo vi /etc/apache2/httpd.conf

追加如下腳本映射和虛擬主機配置,原理同Windows的配置說明。

ServerName localhost

AddType application/x-httpd-php .php

ScriptAlias /php-5217/ “/opt/php/5217/bin/”

ScriptAlias /php-5328/ “/opt/php/5328/bin/”

ScriptAlias /php-5429/ “/opt/php/5429/bin/”

ScriptAlias /php-5514/ “/opt/php/5514/bin/”

Directory /var/www/sites

Options Indexes FollowSymLinks Includes ExecCGI

DirectoryIndex index.php index.html

AllowOverride All

Order allow,deny

Allow from all

/Directory

Directory /var/www/sites/5217

Action application/x-httpd-php “/php-5217/php-cgi”

/Directory

Directory /var/www/sites/5328

Action application/x-httpd-php “/php-5328/php-cgi”

/Directory

Directory /var/www/sites/5429

Action application/x-httpd-php “/php-5429/php-cgi”

/Directory

Directory /var/www/sites/5514

Action application/x-httpd-php “/php-5514/php-cgi”

/Directory

# Virtualhosts

VirtualHost *:80

ServerAdmin webmaster@php5217.local

DocumentRoot “/var/www/sites/5217/test.local”

ServerName php5217.local

ErrorLog “/var/log/apache2/php5217.local-error.log”

CustomLog “/var/log/apache2/php5217.local-access.log” common

/VirtualHost

VirtualHost *:80

ServerAdmin webmaster@php5328.local

DocumentRoot “/var/www/sites/5328/test.local”

ServerName php5328.local

ErrorLog “/var/log/apache2/php5328.local-error.log”

CustomLog “/var/log/apache2/php5328.local-access.log” common

/VirtualHost

VirtualHost *:80

ServerAdmin webmaster@php5429.local

DocumentRoot “/var/www/sites/5429/test.local”

ServerName php5429.local

ErrorLog “/var/log/apache2/php5429.local-error.log”

CustomLog “/var/log/apache2/php5429.local-access.log” common

/VirtualHost

VirtualHost *:80

ServerAdmin webmaster@php5514.local

DocumentRoot “/var/www/sites/5514/test.local”

ServerName php5514.local

ErrorLog “/var/log/apache2/php5514.local-error.log”

CustomLog “/var/log/apache2/php5514.local-access.log” common

/VirtualHost

保存配置後,創建各站點的DocumentRoot目錄,再往每個目錄放置一個phpinfo的測試文件,完成後重啟Apache伺服器並在本地hosts文件加入域名解析,現在就可以訪問各站點來測試多版本PHP共存了。

好了,基本的多版本PHP共存解決方案已經完成,如果還需要添加其他的PHP類庫支持,後續自己再調用對應php目錄下的pecl, php_config等腳本編譯安裝就可以了。

誰能給我個PHP 5.5版本的下載地址啊。

PHP5最新的是PHP

5.3.6

版本,沒有5.5,5.3.6下載地址是:

不過不推薦你使用最新的,現在很多與PHP相關的程序還是使用的5.2版本的,包括zend,這個支持shopex的組件也是使用的5.2,新的如果是裝shopex+zend會出錯,不要追求最新的東西。

上面這是5.2.17的下載地址。

我在伺服器里都是配置的還都是5.2.14版本的。

新版本會出很多不兼容的問題。

php-5.3.6.tar.gz和php-5.3.6.tar.bz2區別

從文件名可以看出,兩個PHP的版本號是一樣的。不同的是文件類型。GZ是UNIX系統中的壓縮文件,ZIP的Gnu版本,功能和WINRAR一樣壓縮文件。bz2也是unix下常見的壓縮文件格式,是由具有高壓縮率的壓縮工具bzip2生成,以後綴為.bz2結尾的壓縮文件。|不同的是gz型的壓縮文件的壓縮工具為7-Zip

解壓工具為WINZIP、WinMount。

如何編譯安裝PHP擴展

一開始安裝PHP的時候,我們並不知道需要哪些擴展,所以只有等到我們真正用到的時候才想辦法去安裝。

安裝PHP擴展最簡單的辦法就是

sudo apt-get install php5-xxx

但有的時候並非我們所願,源裡面並沒有我們需要的擴展,這時候就需要我們下載源碼自己編譯安裝了。

這篇文章中我將介紹在本地Linux平台下編譯安裝PHP擴展的方法。

現在網站根目錄下創建 index.php 列印基本的配置信息,以驗證我們是否安裝成功。

配置編譯環境

我們需要安裝一些編譯必須的庫,還有 php-dev 版本

Ubuntu

sudo apt-get install php5-dev php5-mysql gcc libpcre3-dev

Fedora

sudo yum install php-devel php-mysqlnd gcc libtool

RHEL

sudo yum install php-devel php-mysql gcc libtool

Suse

yast2 -i php5-pear php5-devel php5-mysql gcc

安裝擴展

PHP有兩種可供安裝的擴展:一種是PHP原生的但是默認沒有安裝的,另一種的第三方開發的擴展。

下面依次介紹兩種擴展的安裝方法:

安裝之前我們需要一份和當前機器上相同版本的PHP源碼

cd code

wget

tar xvjf php-5.5.9.tar.bz2

cd php-5.5.9

前往此處 下載相應的源碼包。

在 /ext 目錄下面可以看到所有PHP原生的擴展。

安裝原生擴展

以 PHP-intl 為例,這是PHP國際化的擴展。

為了安裝這個擴展我們需要先安裝ICU 庫

sudo apt-get install icu-devtools icu-doc libicu-dev libicu52 libicu52-dbg

ICU 安裝成功之後進入/ext/intl 目錄:

cd intl

phpize

./configure –enable-intl

make

sudo make install

下面解釋一下上面的每個命令:

phpize : 是用來擴展php擴展模塊的,通過phpize可以建立php的外掛模塊

./configure –enable-intl: 配置編譯環境,相當於告訴編譯器編譯PHP源碼的時候加上intl這個擴展。

make: 將會把源碼編譯成 intl.so

make install : 將會把 intl.so 移動到當前安裝的 PHP 的擴展目錄。

接下來我們要做的就是在php.ini中啟用這個擴展,這一步將會在最後給出示例。

安裝第三方擴展

將以這個 擴展為例,這個擴展主要實現了PHP識別條形碼的功能。

先安裝必要的依賴

sudo apt-get install pkg-config

git clone

cd mongo-php-driver

phpize

./configure

make

sudo make install

將會生成一個文件,將其拷貝到PHP的擴展目錄下面。

啟用擴展

在php.ini中啟用擴展的方式有很多:

直接在php.ini文件中添加 extension=mongo.so,這是最簡單直接的方法。

也可以單獨建一個ini文件,然後在php.ini中包含這些文件就可以了。

下面介紹一下第二種方法:

cd `/etc/php5/mods-available`

這個目錄里可以放新建的ini文件,然後執行

sudo touch mongo.ini

echo “extension=mongo.so” | sudo tee -a mongo.ini

sudo touch intl.ini

echo “extension=intl.so” | sudo tee -a intl.ini

上面的命令將會創建ini文件,並且寫如相應的配置信息。

然後執行下面的命令啟用擴展即可(需要安裝 php5enmod 工具):

sudo php5enmod mongo

sudo php5enmod intl

如果未安裝 php5enmod 工具,則需要手動配置:

ln -s /etc/php5/mods-available/mongo.ini /etc/php5/cli/conf.d/mongo.ini

ln -s /etc/php5/mods-available/intl.ini /etc/php5/cli/conf.d/intl.ini

ln -s /etc/php5/mods-available/mongo.ini /etc/php5/fpm/conf.d/mongo.ini

ln -s /etc/php5/mods-available/intl.ini /etc/php5/fpm/conf.d/intl.ini

最後在執行一下重啟操作就可以了:

sudo service nginx restart

sudo service php5-fpm restart

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/300917.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-29 14:18
下一篇 2024-12-29 14:18

相關推薦

  • 詳解tar命令

    一、tar命令概述 tar(tape archive)命令是一個對文件打包和壓縮的命令工具,可用來將多個文件打包成一個文件並壓縮,壓縮後文件通常以「.tar.gz」或「.tgz」作…

    編程 2025-04-24
  • Tar加密詳解

    一、基本概念 Tar是一種壓縮歸檔工具,常用於將文件或目錄打包成一個文件。它可以壓縮文件以減小存儲空間和傳輸帶寬,並且可以將多個文件或目錄組織成一個單獨的歸檔文件。 Tar實際上是…

    編程 2025-04-23
  • Tar 分卷壓縮詳解

    一、tar 分卷壓縮基礎知識 tar 是一個為Unix和類Unix操作系統設計的用來歸檔和壓縮一組文件的工具。 分卷壓縮指將大文件拆成多個小文件進行壓縮,將數據分散存儲在多個小文件…

    編程 2025-04-23
  • tar xzf操作指南

    tar xzf是Linux系統中常用的解壓文件操作命令,它可以解壓經過壓縮的文件,並將文件展開到指定的目錄下。 一、常用參數 1、x表示解壓文件,z表示解壓後用gzip進行解壓,f…

    編程 2025-04-23
  • JDK 11.0.18_linux-x64_bin.tar:詳細介紹

    一、下載和安裝 JDK 11.0.18是Oracle JDK系列的一個版本,用於開發Java應用程序,提供了編譯器、JVM和其他必要的類庫。 下載JDK後解壓縮到指定目錄,設置JD…

    編程 2025-04-23
  • Linux解壓tar命令詳解

    Linux中的tar命令不僅支持創建歸檔文件,還可以用來解壓歸檔文件,即從歸檔文件中提取文件。本篇文章將從多個方面對Linux解壓tar命令進行詳細闡述,並給出相應的代碼示例。 一…

    編程 2025-04-13
  • tar文件解壓命令 Linux

    一、tar文件簡介 tar全稱為「tape archive」,是一種在Linux系統中常用的壓縮文件格式。tar文件可以把一個或多個文件打包成一個文件,可以方便的在不同的Linux…

    編程 2025-04-12
  • CentOS tar解壓全面指南

    一、tar解壓基礎知識 tar是一種常見的歸檔文件格式,類似於WinRAR或WinZip。它通常用於將多個文件或文件夾打包成一個單獨的文件,以便於壓縮和傳輸。tar文件可通過許多種…

    編程 2025-02-25
  • Linux tar打包詳解

    一、tar介紹 tar是一種常用的文件歸檔工具。它可以將多個文件或目錄打包成一個文件,並且可以方便地進行備份、傳輸和解壓縮。 tar的名稱來自於 “Tape ARchi…

    編程 2025-02-05
  • ubuntu解壓tar.xz的詳細指南

    一、tar.xz文件格式概述 tar.xz是一種文件壓縮格式,其中tar是一個類Unix操作系統下的文件歸檔格式,用於將多個文件打包成一個文件,稱之為tarball,使用tarba…

    編程 2025-02-05

發表回復

登錄後才能評論