linux中同一服务器php2个版本php5.3和php5.4共存的搭建笔记

应一个兄弟帮忙的需求操作这个,兄弟的服务器,一个需要zend+php 5.4 ,一个网站需要 5.3,

之前兄弟直接买了2个服务器,感觉太浪费钱了,于是给他搭建了下,有了以下搭建笔记:

基本上是shell,各位自己试试,深夜了,写的有点乱,有问题留言,

php5.3 我就不管了,网上一堆教程,或者使用lnmp一键安装包各种爽歪歪,

主要说下php5.3和php5.4共存的搭建笔记,源码是 军哥的网站盗的,哈哈

#!/bin/bash

echo  "[+] Installing Php 5.4..."
wget http://soft.vpser.net/web/php/php-5.4.41.tar.gz

tar zxvf php-5.4.41.tar.gz php-5.4.41
cd php-5.4.41

./configure --prefix=/usr/local/php54 --with-config-file-path=/usr/local/php54/etc --enable-fpm --with-fpm-user=www --with-fpm-group=www --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir --with-freetype-dir=/usr/local/freetype --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --with-mcrypt --enable-ftp --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo

make ZEND_EXTRA_LIBS='-liconv'
make install

#ln -sf /usr/local/php54/bin/php /usr/bin/php54
#ln -sf /usr/local/php54/bin/phpize /usr/bin/phpize54
#ln -sf /usr/local/php54/bin/pear /usr/bin/pear54
#ln -sf /usr/local/php54/bin/pecl /usr/bin/pecl54
#if [ "${Stack}" = "lnmp" ]; then
#    ln -sf /usr/local/php54/sbin/php-fpm /usr/bin/php-fpm54
#fi

echo "Copy new php configure file..."
mkdir -p /usr/local/php54/etc
cp php.ini-production /usr/local/php54/etc/php.ini

# php extensions
echo "Modify php.ini......"
sed -i 's/post_max_size = 8M/post_max_size = 50M/g' /usr/local/php54/etc/php.ini
sed -i 's/upload_max_filesize = 2M/upload_max_filesize = 50M/g' /usr/local/php54/etc/php.ini
sed -i 's/;date.timezone =/date.timezone = PRC/g' /usr/local/php54/etc/php.ini
sed -i 's/short_open_tag = Off/short_open_tag = On/g' /usr/local/php54/etc/php.ini
sed -i 's/; cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /usr/local/php54/etc/php.ini
sed -i 's/; cgi.fix_pathinfo=0/cgi.fix_pathinfo=0/g' /usr/local/php54/etc/php.ini
sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/g' /usr/local/php54/etc/php.ini
sed -i 's/max_execution_time = 30/max_execution_time = 300/g' /usr/local/php54/etc/php.ini
sed -i 's/disable_functions =.*/disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server/g' /usr/local/php54/etc/php.ini

#Pear_Pecl_Set ??
#
cd ../

echo "Install ZendGuardLoader for PHP 5.4..."

wget http://soft.vpser.net/web/zend/ZendGuardLoader-70429-PHP-5.4-linux-glibc23-x86_64.tar.gz
tar zxf ZendGuardLoader-70429-PHP-5.4-linux-glibc23-x86_64.tar.gz
mkdir -p /usr/local/zend54/
cp ZendGuardLoader-70429-PHP-5.4-linux-glibc23-x86_64/php-5.4.x/ZendGuardLoader.so /usr/local/zend54/

echo "Write ZendGuardLoader to php.ini..."
cat >>/usr/local/php54/etc/php.ini<<EOF

;eaccelerator

;ionCube

[Zend ZendGuard Loader]
zend_extension=/usr/local/zend54/ZendGuardLoader.so
zend_loader.enable=1
zend_loader.disable_licensing=0
zend_loader.obfuscation_level_support=3
zend_loader.license_path=

;xcache
;xcache end
EOF

echo "Creating new php-fpm configure file..."
cat >/usr/local/php54/etc/php-fpm.conf<<EOF
[global]
pid = /usr/local/php54/var/run/php-fpm.pid
error_log = /usr/local/php54/var/log/php-fpm.log
log_level = notice

[www]
listen = 127.0.0.1:9009
listen.backlog = -1
listen.allowed_clients = 127.0.0.1
listen.owner = www
listen.group = www
listen.mode = 0666
user = www
group = www
pm = dynamic
pm.max_children = 10
pm.start_servers = 2
pm.min_spare_servers = 1
pm.max_spare_servers = 6
request_terminate_timeout = 100
request_slowlog_timeout = 0
slowlog = var/log/slow54.log
EOF

echo "Copy php-fpm init.d file..."
cd php-5.4.41
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm54
chmod +x /etc/init.d/php-fpm54

# 注意:/etc/init.d/php-fpm54 的 这个要改下:prefix=/usr/local/php  改为:prefix=/usr/local/php54
#重启下php-fpm
#顺便原来的php-fpm 5.3  的端口 改为  listen = 127.0.0.1:9000
#nginx使用的时候,使用对应的端口即可 :
#   #fastcgi_pass  unix:/tmp/php-cgi.sock;
#   fastcgi_pass  127.0.0.1:9000;  //5.3
#   fastcgi_pass  127.0.0.1:9009;  //5.4 
#  
#    重启:5.3 就 /etc/init.d/php-fpm start
#    重启:5.4 就 /etc/init.d/php-fpm54 start

## 最后给他设置下自启动吧。update-rc.d -f php-fpm54 defaults  
#我这个是 Ubuntu哈。。。。
#

 

时间: 2024-09-21 06:13:55

linux中同一服务器php2个版本php5.3和php5.4共存的搭建笔记的相关文章

如何将 Debian Linux 中的默认的 Python 版本切换为替代版本

如何将 Debian Linux 中的默认的 Python 版本切换为替代版本 当你安装 Debian Linux 时,安装过程有可能同时为你提供多个可用的 Python 版本,因此系统中会存在多个 Python 的可执行二进制文件.你可以按照以下方法使用 ls 命令来查看你的系统中都有那些 Python 的二进制文件可供使用. $ ls /usr/bin/python* /usr/bin/python /usr/bin/python2 /usr/bin/python2.7 /usr/bin/p

linux中Samba服务器的搭建理论篇

一.Samba与NFS.ftp   在了解Samba服务之前,需要先了解一下cifs协议(Common Internet File System),该协议最早是微软搞出来的一个协议.cifs 协议最早实现的是window主机之间的文件共享与打印共享,并不支持在linux上运行,samba是由Andrew Tridgell工程师通过逆向工程实现的一个cifs协议软件.通过该包可以实现windows和linux之间的文件共享.这和NFS的走的路刚好相反,NFS最初只支持在类unix系统上运行,后被w

Linux中VPS 服务器安全设置教程

在开通了 Linux 系统的 VPS 或服务器后,我们有必要做一些基本的安全设置. 一.关闭 SSH 密码登陆 首先,你需要有自己的 SSH Key,如果你使用 Windows 系统,可以用 Putty 下的 PUTTYGEN.EXE 生成私匙和公匙. 第一步,运行 PUTTYGEN.EXE 一般,我们选择默认的 RSA 加密即可,默认的 1024 位加密足够用,如果要保险点,可以选择 2048 或 4096 位加密,如图红圈处: 第二步,点击 Generate ,然后鼠标随意在空白处移动 等进

linux中Web服务器Nginx多方位优化策略

Nginx(读音engine x)服务器由于性能优秀稳定.配置简单以及跨平台,被越来越多的公司和个人所采用,现已成为市场份额继Apache之后的第二大Web服务器.各大小网站论坛博客也介绍说明了Nginx从安装到优化的各种配置.不过看了很多这些相关Nginx的文档之后,发现一个比较大的问题,就是这些文档基本也就从两个方面着手,一是修改Nginx的配置文件,二是调整操作系统的相关内核参数:而且文档说明也不够明了,缺乏比较系统级别的优化.本文将从Nginx源码编译安装开始,到修改配置文件,调整系统内

linux中VPN服务器出现PTY read or GRE write failed问题

在REHL系搭建pptp vpn服务器 连接的时候出现(619等错误)查看系统日志[cat /var/log/messages |grep pptpd]后发现每次连接失败都会出现以下日志内容: GRE: read(fd=6,buffer=80504c0,len=8196) from PTY failed: status = -1 error = Input/output error, usually caused by unexpected termination of pppd, check

Linux中WU-FTP服务器的安装与配置

&http://www.aliyun.com/zixun/aggregation/37954.html">nbsp;   在众多的网络应用中,FTP(File Transfer porotocol)有着非常重要的地位.在Internet中一个十分重要的资源就是软件资源.而各种各样的软件资源大多数都是放在FTP服务器中的.可以说,FTP与WEB服务几乎占据了整个Internet应用的80%以上. FTP服务可以根据服务对象的不同分为两类:一类是系统FTP服务器,它只允许系统上的合法用

Linux中samba服务器的基本配置

当安全等级为user时,这时我们在本机建立的用户必须加入到SMB服务器中,命令为 smbpasswd -a 用户 添加LINUX用户到SMB服务器中,smbpasswd 用户名 修改SMB服务器中用户的口令 #======================= Global Settings ===================================== 全局参数配置,设置的是针对所有的资源 [global] # workgroup = NT-Domain-Name or Workgro

Linux中NFS服务器的安装与配置

NFS是Net http://www.aliyun.com/zixun/aggregation/19352.html">File System的简写,即网络文件系统. 网络文件系统是FreeBSD支持的文件系统中的一种,也被称为NFS. NFS允许一个系统在网络上与它人共享目录和文件.通过使用NFS,用户和程序可以象访问本地文件一样访问远端系统上的文件. 以下是NFS最显而易见的好处: 1.本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一台机器上而且可以通过网络访问到. 2.用户不

linux中git服务器搭配教程

例子一 先看疗效: 1. 无需公钥 2. 只需要几个最常用的Linux命令就可以搭建   看步骤 1. 准备Linux服务器, 安装好git(一般都是默认装好的) 2. 命令行操作 useradd git   #创建一个git账号 passwd git    #设置git账号的密码 su – git    #切换到git账号 cd ~  #转到用户目录 mkdir 项目名称.git   #建立项目git文件夹 cd 项目名称.git git –-bare –share init   #初始化gi