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/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

发表回复

登录后才能评论