php5.4编译安装,php56安装

本文目录一览:

如何在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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝的头像小蓝
上一篇 2024-12-25 18:39
下一篇 2024-12-25 18:39

相关推荐

  • 金额选择性序列化

    本文将从多个方面对金额选择性序列化进行详细阐述,包括其定义、使用场景、实现方法等。 一、定义 金额选择性序列化指根据传入的金额值,选择是否进行序列化,以达到减少数据传输的目的。在实…

    编程 2025-04-29
  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • JS Proxy(array)用法介绍

    JS Proxy(array)可以说是ES6中非常重要的一个特性,它可以代理一个数组,监听数据变化并进行拦截、处理。在实际开发中,使用Proxy(array)可以方便地实现数据的监…

    编程 2025-04-29
  • Python官网中文版:解决你的编程问题

    Python是一种高级编程语言,它可以用于Web开发、科学计算、人工智能等领域。Python官网中文版提供了全面的资源和教程,可以帮助你入门学习和进一步提高编程技能。 一、Pyth…

    编程 2025-04-29
  • Python列表中负数的个数

    Python列表是一个有序的集合,可以存储多个不同类型的元素。而负数是指小于0的整数。在Python列表中,我们想要找到负数的个数,可以通过以下几个方面进行实现。 一、使用循环遍历…

    编程 2025-04-29
  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • Python中引入上一级目录中函数

    Python中经常需要调用其他文件夹中的模块或函数,其中一个常见的操作是引入上一级目录中的函数。在此,我们将从多个角度详细解释如何在Python中引入上一级目录的函数。 一、加入环…

    编程 2025-04-29
  • Python周杰伦代码用法介绍

    本文将从多个方面对Python周杰伦代码进行详细的阐述。 一、代码介绍 from urllib.request import urlopen from bs4 import Bea…

    编程 2025-04-29
  • Idea新建文件夹没有java class的解决方法

    如果你在Idea中新建了一个文件夹,却没有Java Class,应该如何解决呢?下面从多个方面来进行解答。 一、检查Idea设置 首先,我们应该检查Idea的设置是否正确。打开Id…

    编程 2025-04-29
  • at least one option must be selected

    问题解答:当我们需要用户在一系列选项中选择至少一项时,我们需要对用户进行限制,即“at least one option must be selected”(至少选择一项)。 一、…

    编程 2025-04-29

发表回复

登录后才能评论