本文目录一览:
如何在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等脚本编译安装就可以了。
急,编译安装php5.4出错,无法安装pdo_mysql,怎么办?
您好,你的问题,我之前好像也遇到过,以下是我原来的解决思路和方法,希望能帮助到你,若有错误,还望见谅!你装了mysql了吗?用什么方式装的?
找找你系统中有没有mysql.h这个文件非常感谢您的耐心观看,如有帮助请采纳,祝生活愉快!谢谢!
请教PHP的编译安装问题
不需要什么处理,你在apache的web目录里面建立一个php文件,内容如下
?php
phpinfo();
?
然后通过浏览器访问这个php文件,可以看到你当初编译php的参数。
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/293074.html
微信扫一扫
支付宝扫一扫