㈠ 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.相較之下,雲幫手的基礎功能支持更全面和完善,集成度也更高,無需再下載其他軟體,對於伺服器的日常基礎管理和新手用戶來說,我覺得雲幫手的使用感會更好。