㈠ 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版本(同一个站点下按路径区分)
㈡ 如何在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等脚本编译安装就可以了。
㈢ PHP多版本切换
由于在linux服务器上装了多个版本的PHP,常常感到疑惑的是,在Web中,php的版本是5.6的,而命令行中却可能是7.2的,这就很让人疑惑了,经过了不断摸索,终于发现的缘由。
首先,web中的php版本,是由你的nginx(apache)服务器配置决定的,在nginx(apache)配置文件中都指定了php的版本。
其次,命令行中的php版本,可以通过以下命令切换:
修改版本为php5.6: sudo update-alternatives --set php /usr/bin/php5.6
修改版本为php7.2: sudo update-alternatives --set php /usr/bin/php7.2
停用php5.6: sudo a2dismod php5.6
启用php7.2: sudo a2enmod php7.2
㈣ 在Linux 服务器上部署,安全稳定性如何
和信云桌面的3V架构都可以部署在linux上,已经多年稳定运行。可以兼容CentOS、Ubuntu等国外linux,也兼容麒麟运核、UOS等主流国产化御侍服务器操作系统。终端也兼旁拆掘容国内外linux。
㈤ 如何让多个PHP版本在同一个Apache服务下并存
多版本共存且同时运行,你可以用PHPWAMP8.8.8.8IN版本集成环境
PHPWAMP支持iis、apache、nginx等web服务器,系统环境受损也能正常运行!
并全部支持php多版本同时运行,无限自定义mysql、php版本,同时运行N个php版本都没问题。
PHPWAMP无视VC运行库,无视系统DLL是否完整是否受损,无视系统原因造成的各种PHP环境运行障碍
在电脑系岩耐统缺失必备组件或DLL受损的情况下依然能正常运行,不用安装vc,不用在乎系统dll是否完整
数据库文件太大懒得转移?Mysql自定义的妙用,物理转移其他环境mysql版本,轻松实现网站搬家!
Mysql自定义功能可一键吸收xampp、phpstudy、wampserver、apmserv等所有PHP集成环境的Mysql数据库,也可穗余以把Mysql官方全部粗族春历史版本收纳,随意切换任何Mysql历史版本,常用工具可以强行修改所有环境的Mysql数据库密码。
㈥ linux安装PHP时停止编译(pnglibconf.h问题)
你的 libpng 怎么装的?
什么版本的 Linux ?为什么不用发行版自带的 PHP 非要自己从源代码装?
PS:印象里部分 Linux 为了 libpng 多版本共存,好像有某些特殊的安装方式。
㈦ Linux CentOS安装PHP多版本同时运行
mkdir -p /lnmp/php74
wget https://www.php.net/distributions/php-7.4.33.tar.gz
tar -zxvf php-7.4.33
cd ./php-7.4.33
./configure --prefix=/lnmp/php74 --enable-fpm --with-mysqli --with-curl --with-pdo_mysql --with-pdo_sqlite --enable-mysqlnd --enable-mbstring --with-gd --with-freetype
(7.4之前的版本freetype是 --with-freetype-dir )
make
make install
cp php.ini-development /lnmp/php74/lib/php.ini
cd /lnmp/php74/etc
mv php-fpm.conf.default php-fpm.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf
cd /lnmp/php71/etc/php-fpm.d
vim www.conf
cgi.fix_pathinfo=0
/lnmp/php71/sbin/php-fpm
ps aux|grep php
vim /etc/init.d/php71-fpm
chmod a+x /etc/init.d/php71-fpm
chkconfig --add php71-fpm
service php71-fpm start
service php71-fpm restar
service php71-fpm stop
㈧ linux系统如何同时运行多个PHP版本的环境
把不同版本的php在不同端口运行比较好,比如80运行5.6, 85运行5.4。服务器开2个进程。
同一个端口运行两个版本不好区分,以前用文件名区分比如.php5,.php7但只适合自己的代码,运行外来代码还是很不方面
㈨ 为什么是命令行输出的php版本和浏览器输出的不一致
因为php-cli加载的配置文件和网页端(php-fpm)加载的不一致。你用find / -name php.ini找下,会有两个php.ini出现。在php-cli下(php命令行)执行php -ini 会看到你当前使用的ini文件。在页面搜索php.ini会发现你加载的是另一处的
㈩ 管理面板推荐哪个
目前市面上用户使用量比较多的三款管理面板是:宝亩槐颂塔,安全狗和云帮手;
但是相较于云帮手,宝塔免费版和安全狗基础功能迅郑没有云帮手更齐全,
1.比如宝塔不支持明李系统检测和系统修复;
2.安全狗没有CPU、内存、磁盘这些资源监控等功能,仅针对服务器本身进行基础管理;
3.相较之下,云帮手的基础功能支持更全面和完善,集成度也更高,无需再下载其他软件,对于服务器的日常基础管理和新手用户来说,我觉得云帮手的使用感会更好。