Apache&ISPConfig 3(Debian Wheezy)でPHP 4.4.9(FastCGI)を使用する方法
ISPConfig 3.0.5以降、1つのサーバーで複数のPHPバージョンを使用して、Webサイトに最適なPHPバージョンを選択することができます。サーバー上に非常に古いWebサイトがある場合、それらはPHP5では機能しない可能性がありますが、PHP4でのみ機能します。このチュートリアルでは、DebianWheezyサーバー上のApache2で使用するFastCGIバージョンとしてPHP4.4.9をビルドする方法を示します。このPHPバージョンは、ISPConfigでデフォルトのPHP(aptを介してインストール)と一緒に使用できます。
これがあなたのために働くという保証はありません!
1予備メモ
PHP-FPMはPHP4では使用できないため、PHP4のFastCGIバージョンを構築する方法について説明します。 FastCGIはApacheサーバーでのみ使用できるため、nginxでは使用できません。
2 PHP 4.4.9(FastCGI)の構築
ソースコードからビルドするための前提条件をインストールします:
apt-get install build-essential
PHP 4.4.9は最新のOpenSSLバージョンではコンパイルされないため、最初に古いバージョンのOpenSSL(0.9.8x)をインストールする必要があります。
cd / tmp
wget http://www.openssl.org/source/openssl-0.9.8x.tar.gz
tar xvfz openssl-0.9.8x.tar.gz
cd openssl -0.9.8x
./config --prefix =/ usr / local / openssl-0.9.8
make
make install
PHP 4.4.9をダウンロードして解凍します:
mkdir /opt/phpfcgi-4.4.9
mkdir / usr / local / src / php4-build
cd / usr / local / src / php4-build
wget http://de。 php.net/get/php-4.4.9.tar.bz2/from/this/mirror -O php-4.4.9.tar.bz2
tar jxf php-4.4.9.tar.bz2
cd php-4.4.9/
必要なシンボリックリンクをいくつか作成します:
ln -s /usr/lib/x86_64-linux-gnu/libjpeg.so / usr / lib /
ln -s /usr/lib/x86_64-linux-gnu/libpng.so / usr / lib /
ln -s /usr/lib/x86_64-linux-gnu/libmysqlclient.so.18 / usr / lib /
ln -s /usr/lib/x86_64-linux-gnu/libexpat.so / usr / lib /
ln -s /usr/lib/x86_64-linux-gnu/libmysqlclient.so /usr/lib/libmysqlclient.so
mkdir / usr / kerberos
ln -s / usr / lib / x86_64-linux-gnu / usr / kerberos / lib
次に、関数mysql_drop_dbとmysql_create_dbを無効にする必要があります。無効にしないと、PHP4.4.9をビルドしようとしたときにこれらのエラーが発生するためです。
エラー:「mysql_drop_db」への未定義の参照
エラー:「mysql_create_db」への未定義の参照
/usr/local/src/php4-build/php-4.4.9/ext/mysql/php_mysql.c...を開きます...
vi /usr/local/src/php4-build/php-4.4.9/ext/mysql/php_mysql.c
...そして1131行目に移動します。そこから、両方の機能をコメントアウトします。
[...] /*PHP_FUNCTION(mysql_create_db) { zval **db, **mysql_link; int id; php_mysql_conn *mysql; switch(ZEND_NUM_ARGS()) { case 1: if (zend_get_parameters_ex(1, &db)==FAILURE) { RETURN_FALSE; } id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU); CHECK_LINK(id); break; case 2: if (zend_get_parameters_ex(2, &db, &mysql_link)==FAILURE) { RETURN_FALSE; } id = -1; break; default: WRONG_PARAM_COUNT; break; } php_error_docref(NULL TSRMLS_CC, E_NOTICE, "This function is deprecated, please use mysql_query() to issue a SQL CREATE DATABASE statement instead."); ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, mysql_link, id, "MySQL-Link", le_link, le_plink); PHPMY_UNBUFFERED_QUERY_CHECK(); convert_to_string_ex(db); if (mysql_create_db(&mysql->conn, Z_STRVAL_PP(db))==0) { RETURN_TRUE; } else { RETURN_FALSE; } }*/ /* }}} */ /* {{{ proto bool mysql_drop_db(string database_name [, int link_identifier]) Drops (delete) a MySQL database */ /*PHP_FUNCTION(mysql_drop_db) { zval **db, **mysql_link; int id; php_mysql_conn *mysql; switch(ZEND_NUM_ARGS()) { case 1: if (zend_get_parameters_ex(1, &db)==FAILURE) { RETURN_FALSE; } id = php_mysql_get_default_link(INTERNAL_FUNCTION_PARAM_PASSTHRU); CHECK_LINK(id); break; case 2: if (zend_get_parameters_ex(2, &db, &mysql_link)==FAILURE) { RETURN_FALSE; } id = -1; break; default: WRONG_PARAM_COUNT; break; } php_error_docref(NULL TSRMLS_CC, E_NOTICE, "This function is deprecated, please use mysql_query() to issue a SQL DROP DATABASE statement instead."); ZEND_FETCH_RESOURCE2(mysql, php_mysql_conn *, mysql_link, id, "MySQL-Link", le_link, le_plink); convert_to_string_ex(db); if (mysql_drop_db(&mysql->conn, Z_STRVAL_PP(db))==0) { RETURN_TRUE; } else { RETURN_FALSE; } }*/ /* }}} */ [...] |
PHP5を構築するための前提条件をインストールします(この場合、これはPHP4を構築するための前提条件もカバーします):
apt-get build-dep php5
PHP 4.4.9を次のように構成およびビルドします(./configureコマンドは必要に応じて調整できます。
を参照してください。./configure --help
利用可能なすべてのオプションを表示します。別の./configureコマンドを使用すると、追加のライブラリが必要になる可能性があります。そうしないと、ビルドプロセスが失敗します):
./configure \
--prefix =/ opt / phpfcgi-4.4.9 \
--with-pdo-pgsql \
--with-zlib-dir \
- -with-freetype-dir \
--enable-mbstring \
--with-libxml-dir =/ usr \
--enable-soap \
--enable-カレンダー\
--with-curl \
--with-mcrypt \
--with-zlib \
--with-gd \
--with- pgsql \
-disable-rpath \
--enable-inline-optimization \
--with-bz2 \
--with-zlib \
- enable-sockets \
--enable-sysvsem \
--enable-sysvshm \
--enable-pcntl \
--enable-mbregex \
- with-mhash \
--enable-zip \
--with-pcre-regex \
--with-mysql =/ usr \
--with-mysql-sock =/ var / run / mysqld / mysqld.sock \
--with-jpeg-dir =/ usr \
--with-png-dir =/ usr \
--enable- gd-native-ttf \
--with-openssl =/ usr / local / openssl-0.9.8 \
--with-openssl-dir =/ usr / local / openssl-0.9.8 \
--with-libdir =/ lib / x86_64-linux-gnu \
--enable-ftp \
--with-imap \
--with-imap-ssl \
--with-kerberos \
--with- gettext \
--with-expat-dir =/ usr \
--enable-fastcgi
最後のスイッチ(--enable-fastcgi)は、このPHPバージョンがFastCGIで動作することを確認します。
make
make install
php.iniを正しい場所にコピーします:
cp /usr/local/src/php4-build/php-4.4.9/php.ini-recommended /opt/phpfcgi-4.4.9/lib/php.ini
これで、PHP4.4.9のインストールにAPCモジュールを追加します。
cd / tmp
wget http://pecl.php.net/get/APC-3.0.19.tgz
tar xvfz APC-3.0.19.tgz
cd APC-3.0.19
/opt/phpfcgi-4.4.9/bin/phpize
./configure --enable-apc --enable-apc-mmap --with-php-config =/ opt/phpfcgi-4.4。 9 / bin / php-config
make
make install
その後、/ opt / phpfcgi-4.4.9 / lib / php.ini ...
を開きます。vi /opt/phpfcgi-4.4.9/lib/php.ini
...そしてextension_dir="/opt/phpfcgi-4.4.9/lib/php/extensions/no-debug-non-zts-20020429"を設定し、ファイルの最後にextension =apc.soという行を追加します(追加のAPC設定を構成することもできます):
[...] extension_dir = "/opt/phpfcgi-4.4.9/lib/php/extensions/no-debug-non-zts-20020429" [...] extension=apc.so apc.enabled=1 apc.shm_segments=1 apc.shm_size=512 apc.ttl=0 apc.user_ttl=600 apc.gc_ttl=600 apc.enable_cli=1 apc.mmap_file_mask=/tmp/apc.XXXXXX ;apc.mmap_file_mask=/dev/zero ;apc.shm_segments = 5 |
ISPConfig 3.0.5では、[システム]>[追加のPHPバージョン]で新しいPHPバージョンを構成できます。 [名前]タブで、PHPバージョンの名前を入力するだけです(例:PHP 4.4.9)-このPHPバージョンは、ISPConfigのWebサイト設定でこの名前の下に一覧表示されます:
FastCGI設定タブに移動し(PHP-FPM設定タブは空のままにすることができます)、次のようにフィールドに入力します。
すべてが期待どおりに機能している場合は、ISPConfigのWebサイトにPHP4.4.9を選択できます。 phpinfo()を使用してPHPファイルを作成することにより、WebサイトのPHPバージョンを確認できます。その中で機能し、ブラウザでそのファイルを呼び出します:
3つのリンク
- PHP:http://www.php.net/
- ISPConfig:http://www.ispconfig.org/
- Ubuntu:http://www.ubuntu.com/

FalkoTimmeはの所有者です Timme Hosting(超高速nginx Webホスティング)。彼はHowtoForge(2005年以降)の主任メンテナーであり、ISPConfig(2000年以降)のコア開発者の1人です。彼はまた、O'Reillyの本「LinuxSystemAdministration」にも寄稿しています。