多版本php
❶ windows服务器里可以安装多版本php吗
可以安装多各版本的PHP。 需要注意的:在同一IIS服务器上同时安装多个版本的PHP,必须按照php.net文档IIS 5.1和IIS 6.0及IIS 7.0和更高版本中描述的步骤手动安装。不要使用PHP的Windows安装程序,因为它不支持并行安装。 华普在线小李为你解答
❷ IIS8.0怎么配置多版本php站点
在iis管理器的根节点上,添加php的处理程序映射 ,这个会是全局默认的php版本
然后具体到某个站点,如果需要不同版本,需要在左侧节点中定位到该站点,管理处理程序映射,找到继承的php fcgi配置,点编辑,修改为需要的php版本即可。
另外 ,php.ini不要放到windows目录中,这样不能针对多版本使用不同配置了。
可以把php.ini放在对应的php版本的根目录就行(php.exe所在目录)。然后针对每个版本的php配置就可以了。扩展目录可以直接以相对目录的形式设置
另外 ,修改这个配置后,会在网站根目录生成一个web.config( 如果已有,会在对应节点增加配置 ),这个web.config不要删除或修改php配置的内容,因为这个配置是和管理器中的同步的
以上配置方法主要结合iis的配置文件,是不能一个站点配置多个版本的php的.实际项目中也很少有这样的需求.如果需要,可以采用变通的方式解决:
如:主站/子站协同运行,采用接口互相调用(把一个站点变成多个站点)
或者使用rewrite+php-fpm的模式,匹配指定的路径转发给指定的php版本(同一个站点下按路径区分)
❸ 如何安装多版本PHP环境
多版本共存且同时运行,你可以用PHPWAMP8.8.8.8IN版本集成环境
PHPWAMP支持iis、apache、nginx等web服务器,系统环境受损也能正常运行!
并全部支持php多版本同时运行,无限自定义mysql、php版本,同时运行N个php版本都没问题。
-------以下内容摘自今日头条程序员IT快报新闻--------------
PHPWAMP无视VC运行库,无视系统DLL是否完整是否受损,无视系统原因造成的各种PHP环境运行障碍
在电脑系统缺失必备组件或DLL受损的情况下依然能正常运行,不用安装vc,不用在乎系统dll是否完整
数据库文件太大懒得转移?Mysql自定义的妙用,物理转移其他环境mysql版本,轻松实现网站搬家!
Mysql自定义功能可一键吸收xampp、phpstudy、wampserver、apmserv等所有PHP集成环境的Mysql数据库,也可以把Mysql官方全部历史版本收纳,随意切换任何Mysql历史版本,常用工具可以强行修改所有环境的Mysql数据库密码。
升级的“强制清除环境阻碍”功能是历史版本中最简单粗暴的,一键轰掉系统占用80端口以及系统引起的各种异常
三大主流Web服务器分别带有功能强大的站点管理(右键功能更符合UEO)
iis站点一键配置,支持无限个PHP版本同时运行,无限自定义mysqlphp版本,无视VC等系统Dll依赖。
Nginx站点一键配置,支持无限个PHP版本同时运行,无限自定义mysqlphp版本,无视VC等系统Dll依赖。
Apache站点一键配置,支持无限个PHP版本同时运行,无限自定义mysqlphp版本,无视VC等系统Dll依赖。
❹ wampserver怎么添加多个php版本
、安装WAMPServer
根据自己的操作系统选择相应的WAMP版本,我这里选择WAMPSERVER-32 BITS & PHP 5.5-2.5,双击安装,选择安装目录即可,超级简单。
根据我安装的版本,这里已经默认安装了PHP5.5.12,如下图,可以发现多了两个特别文件:phpForApache.ini、wampserver.conf。
2、下载PHP二进制包
PHP目前提供PHP5.3、PHP5.4、PHP5.5、PHP5.6版本,因为我安装的是WAMPSERVER-32 BITS,所以对应的PHP版本只能是32位,到Windows PHP下载TS版本(Thread-Safe-VC9-X86)对应的PHP二进制ZIP包,并解压缩二进制包到WAMP安装目录,如D:\wamp_2\bin\php下。
3、增加PHP多版本支持
以我的安装目录为参照,拷贝php5.5.12下的wampserver.conf文件分别到PHP各版本目录;
以php5.6.3为例,拷贝目录下的php.ini-development并重命名为phpForApache.ini,根据自己要求修改phpForApache.ini里的PHP环境参数(例如:extension_dir),保存退出;
以上完成了PHP5.6.3版本的添加,其它版本添加类似。
4、选择PHP运行环境
重新打开WAMPServer管理器,选择想要运行的PHP版本环境。
你看过后很简单吧以后不会可以向我一样经常到后盾人找找相关教材看看就会了,希望能帮到你,给个采纳吧谢谢(^ω^)
❺ 如何配置多个版本的php(php
用集成环境phpwamp8.1.8.8,自身就集成了6个常用版本(包含最新php7)
如果还不符合你要求,可以在站点管理里面自定义设置php版本,phpwamp官方下载页面提供了700个php版本随便你切换
站点管理可以添加任意设置的站点,多个不同的php版本也可以同时运行,对比测试的利器。
❻ 如何在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 http://museum.php.net/php5/php-5.2.17.tar.bz2 -O php-5.2.17.tar.bz2
$ wget http://cn2.php.net/get/php-5.3.28.tar.bz2/from/this/mirror -O php-5.3.28.tar.bz2
$ wget http://cn2.php.net/get/php-5.4.29.tar.bz2/from/this/mirror -O php-5.4.29.tar.bz2
$ wget http://cn2.php.net/get/php-5.5.14.tar.bz2/from/this/mirror -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 “https://bugs.php.net/patch-display.php?bug_id=54736&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 [email protected]
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 [email protected]
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 [email protected]
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 [email protected]
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等脚本编译安装就可以了。
❼ Linux系统中设置多版本PHP共存配合Nginx服务器使用
应用环境
LNMP的环境,当前PHP版本5.3.8,遇到一个应用需求只支持PHP
5.2.x,又希望保持现有应用还是用PHP
5.3.8。也就是说需要两个版本的PHP同时存在,供nginx根据需要调用不同版本。
思路
Nginx是通过PHP-FastCGI与PHP交互的。而PHP-FastCGI运行后会通过文件、或本地端口两种方式进行监听,在Nginx中配置相应的FastCGI监听端口或文件即实现Nginx请求对PHP的解释。
既然PHP-FastCGI是监听端口和文件的,那就可以让不同版本的PHP-FastCGI同时运行,监听不同的端口或文件,Nginx中根据需求配置调用不同的PHP-FastCGI端口或文件,即可实现不同版本PHP共存了。
配置记录
下面记录简单的配置流程,基于已经安装了lnmp的debian环境。当前版本的PHP是5.3.8,位于/usr/local/php。
1.下载PHP-5.2.14及相关的FPM、autoconf组件:
mkdir
~/php5.2
cd
~/php5.2
wget
-c
http://museum.php.net/php5/php-5.2.14.tar.gz
wget
-c
http://php-fpm.org/downloads/php-5.2.14-fpm-0.5.14.diff.gz
2.解压PHP-5.2.14,并打上PHP-FPM的补丁:
tar
zxvf
php-5.2.14.tar.gz
gzip
-cd
php-5.2.14-fpm-0.5.14.diff.gz
|
patch
-d
php-5.2.14
-p1
3.如果你已经通过lnmp安装,应该已经安装好了autoconf,如果没有,请自行下载并编译autoconf-2.13,然后设置autoconf环境变量:
export
PHP_AUTOCONF=/usr/local/autoconf-2.13/bin/autoconf¬
export
PHP_AUTOHEADER=/usr/local/autoconf-2.13/bin/autoheader
3.编译安装PHP-5.2.14在新的路径(/usr/local/php-5.2.14)下,注意–prefix、–with-config-file-path的路径,并且打开fastcgi和fpm选项:
cd
php-5.2.14/
./buildconf
--force
./configure
--prefix=/usr/local/php-5.2.14
--with-config-file-path=/usr/local/php-5.2.14/etc
--with-mysql=/usr/local/mysql
--with-mysqli=/usr/local/mysql/bin/mysql_config
--enable-fastcgi
--enable-fpm
make
ZEND_EXTRA_LIBS='-liconv'
make
install
4.设置/usr/local/php-5.2.14/etc/php-fpm.conf,监听端口:
<value
name="listen_address">127.0.0.1:9001</value>
或者监听文件:
<value
name="listen_address">/path/to/unix/socket</value>
其他参数根据服务器环境和需求自行定制。
5.启动php-fpm,以后可以通过php-fpm进行管理:
/usr/local/php-5.2.14/sbin/php-fpm
start
字php5.3.3后,php已经将php-fpm继承到php中,而且内置的php-fpm默认不支持(start|stop|reload)的平滑启动参数,需要使用官方源代码中提供的启动脚本来控制:
cp
-f
(php
-5.3.x-source-dir)/sapi/fpm/init.d.php-fpm
/etc/init.d/php-fpm
chmod
755
/etc/init.d/php-fpm
/etc/init.d/php-fpm
start
php-fpm支持的操作:
start,启动PHP的FastCGI进程。
stop,强制终止PHP的FastCGI进程。
quit,平滑终止PHP的FastCGI进程。
restart,
重启PHP的FastCGI进程。
reload,
重新加载PHP的php.ini。
logrotate,
重新启用log文件。
5.3.3的php-fpm脚本支持的操作:start|stop|force-quit|restart|reload|status
6.配置好PHP-5.2.14的php.ini,重新加载生效:
vi
/usr/local/php-5.2.14/etc/php.ini
/usr/local/php-5.2.14/sbin/php-fpm
reload
7.修改nginx配置,对需要的服务配置使用PHP-5.2.14:
location
~
.*.(php|php5)?$
{
fastcgi_pass
127.0.0.1:9001;
fastcgi_index
index.php;
include
fcgi.conf;
}
8.记录一下自己编译php5.5.10使用的配置
./configure
--prefix=/usr/local/php-5.5.10
--with-config-file-path=/usr/local/php-5.5.10/etc
--with-mysql=mysqlnd
--with-mysqli=mysqlnd
--with-bz2
--with-curl=/usr/bin
--enable-ftp
--enable-sockets
--disable-ipv6
--with-gd
--with-jpeg-dir=/usr/local
--with-png-dir=/usr/local
--with-freetype-dir=/usr/local
--enable-gd-native-ttf
--with-iconv-dir=/usr/local
--enable-mbstring
--enable-calendar
--with-gettext
--with-libxml-dir=/usr/local
--with-zlib
--with-pdo-mysql=mysqlnd
--enable-dom
--enable-xml
--enable-fpm
--with-libdir=lib64
--with-mcrypt=/usr/bin
--enable-zip
--enable-soap
--enable-mbstring
--with-gd
--with-openssl
--enable-pcntl
--with-xmlrpc
--enable-opcache
❽ apache怎么运行多版本php
PHPWAMP8.8.8.8IN支持无限个数的PHP版本同时运行,支持php和mysql不限个数的自定义
PHPWAMP在电脑系统缺失必备组件或DLL受损的情况下依然能正常运行,不用安装vc,不用在乎系统dll是否完整
“强制清除环境阻碍”功能可以一键轰掉系统占用80端口以及系统引起的各种异常
三大主流Web服务器分别带有功能强大的站点管理
iis站点一键配置,支持无限个PHP版本同时运行,无限自定义mysqlphp版本,无视VC等系统Dll依赖。
Nginx站点一键配置,支持无限个PHP版本同时运行,无限自定义mysqlphp版本,无视VC等系统Dll依赖。
Apache站点一键配置,支持无限个PHP版本同时运行,无限自定义mysqlphp版本,无视VC等系统Dll依赖。
❾ apache怎么配置多版本PHP
对于不同的php版本在启动php-fpm/cgi的时候设置不同的端口(例如7.1设置为:9000,7.2设置为9001以此类推),然后不同的配置转发给对应版本端口的php-fpm/cgi就得到的不同的php版本结果.
❿ 如何选择不同的PHP版本
由于各种因素,导致了PHP版本的碎片化。PHP的向下不兼容导致了PHP程序的移植性很差。因此才会有不同版本的PHP要求选择的需求。
护卫神主机系统,为您解决了这个烦恼,同一台服务器上,配备了PHP5.2/PHP5.3/PHP5.4/PHP5.5/PHP5.6 一共5个版本,每个网站均可以自己独立选择所需的PHP版本,与其他网站相互不干扰,完全满足您多版本PHP的需求,且支持主机系统一键切换。
在阿里云镜像中,PHP5.2/5.3/5.4为32位程序,支持Zend解米,PHP5.5/5.6为64位程序,不支持Zend解米,请各位根据实际情况选择。
一般而言,DEDECMS原版支持PHP5.2版,其他CMS程序请根据实际运行环境对应切换即可。
以下简单介绍不同的PHP之间的区别:
PHP5.2 以前:autoload, PDO 和 MySQLi, 类型约束
PHP5.2:JSON 支持
PHP5.3:弃用的功能,匿名函数,新增魔术方法,命名空间,后期静态绑定,Heredoc 和 Nowdoc, const, 三元运算符,Phar
PHP5.4:Short Open Tag, 数组简写形式,Traits, 内置 Web 服务器,细节修改
PHP5.5:yield, list() 用于 foreach, 细节修改
PHP5.6: 常量增强,可变函数参数,命名空间增强。希望对你有用,我在后盾人线下面授培训学习刚下课,有不会的可以问我(❁ฺ•㉨ฺ•❁)