我想PHP
在一台服务器上拥有两个版本并使用符号链接在它们之间切换。
我已经PHP 5.3.2
安装了。我想PHP 1.4.6
与它一起安装,并能够在它们之间来回切换,例如;
/opt/php/5.3.2
/opt/php/5.4.21
/opt/php/live -> /opt/php/5.4.21
按照建议这里。然而,我正在努力寻找如何做到这一点。
我正在使用运行 Nginx 和 PHP-FPM/FastCGI 的 Ubuntu 10.04 服务器。
在我看来apt-get
似乎每个程序只想有一个版本,所以我想并行使用两个版本必须避免使用apt-get
或类似的实用程序。
答案1
您必须自己编译。要获得非常接近预编译的 Ubuntu 的编译,您可以使用与 Ubuntu 源包中相同的配置标志,但使用不同的--prefix
:
./configure \
--prefix=/opt/php/5.3.2 \
--enable-force-cgi-redirect \
--enable-fastcgi \
--disable-debug \
--with-regex=php \
--disable-rpath \
--disable-static \
--with-pic \
--with-layout=GNU \
--with-pear=/usr/share/php \
--enable-calendar \
--enable-sysvsem \
--enable-sysvshm \
--enable-sysvmsg \
--enable-bcmath \
--with-bz2 \
--enable-ctype \
--with-db4 \
--without-gdbm \
--with-iconv \
--enable-exif \
--enable-ftp \
--with-gettext \
--enable-mbstring \
--with-pcre-regex=/usr \
--enable-shmop \
--enable-sockets \
--enable-wddx \
--with-libxml-dir=/usr \
--with-zlib \
--with-kerberos=/usr \
--with-openssl=/usr \
--enable-soap \
--enable-zip \
--with-mhash=yes \
--with-system-tzdata \
--without-mm \
--with-curl=/usr \
--with-enchant=/usr \
--with-zlib-dir=/usr \
--with-gd=/usr --enable-gd-native-ttf \
--with-gmp=/usr \
--with-jpeg-dir=/usr \
--with-xpm-dir=/usr/X11R6 \
--with-png-dir=/usr \
--with-freetype-dir=/usr \
--enable-intl \
--with-ttf=/usr \
--with-t1lib=/usr \
--with-ldap=/usr \
--with-ldap-sasl=/usr \
--with-mysql=/usr \
--with-mysqli=/usr/bin/mysql_config \
--with-pspell=/usr \
--with-unixODBC=/usr \
--with-recode=/usr \
--with-xsl=/usr \
--with-snmp=/usr \
--with-sqlite=/usr \
--with-sqlite3=/usr \
--with-mssql=/usr \
--with-tidy=/usr \
--with-xmlrpc \
--with-pgsql=/usr PGSQL_INCLUDE=`pg_config --includedir` \
--enable-pdo \
--without-pdo-dblib \
--with-pdo-mysql=/usr \
--with-pdo-odbc=unixODBC,/usr \
--with-pdo-pgsql=/usr/bin/pg_config \
--with-pdo-sqlite=/usr \
--with-pdo-dblib=/usr
当然,任何你不需要的模块都可以从配置中删除(例如,如果你永远不会使用 snmp,那么可以更改--with-snmp=/usr
为--without-snmp
或者干脆把它删掉)
答案2
也许这对您有帮助,您可以在没有 IPSConfig 的情况下尝试此操作。