The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

php4 и php5 на freebsd одновременно, используя suphp. (php apache cgi freebsd suphp)


<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>
Ключевые слова: php, apache, cgi, freebsd, suphp,  (найти похожие документы)
From: daiver <admin@daiver.org.> Date: Mon, 6 Dec 2007 14:31:37 +0000 (UTC) Subject: php4 и php5 на freebsd одновременно, используя suphp. Как заставить работать обе версии php на одном сервере freebsd? Я сделал это используя suphp Устанавливаем php4 с поддержкой CGI: cd /usr/ports/lang/php4 make install clean Устанавливаем необходимые модули: cd /usr/ports/lang/php4-extensions make config make install clean Устанавливем php5 с поддержкой CGI: cd /usr/ports/lang/php5 make config make PREFIX=/usr/local/php5 install Открываем /usr/ports/Mk/bsd.php.mk и заменяем ${LOCALBASE} на ${PREFIX} исключая этот блок: HTTPD?= ${LOCALBASE}/sbin/httpd .if exists(${HTTPD}) APACHE_VERSION!= ${HTTPD} -V | ${SED} -ne 's/^Server version: Apache\/\([0-9]\)\.\([0-9]*\).*/\1\2/p' . if ${APACHE_VERSION} > 13 APXS?= ${LOCALBASE}/sbin/apxs APACHE_MPM!= ${APXS} -q MPM_NAME . if ${APACHE_MPM} == "worker" PHP_EXT_DIR:= ${PHP_EXT_DIR}-zts . endif Мой bsd.php.mk Устанавливаем необходимые модули для php5: cd /usr/ports/lang/php5-extensions make config make PREFIX=/usr/local/php5 install Собираем suphp: cd /usr/src && wget http://www.suphp.org/download/suphp-0.6.2.tar.gz && tar xzf suphp-0.6.2.tar.gz && cd suphp-0.6.2 Открываем src/apache/mod_suphp.c на строчке 252 и заменяем "ACCESS_CONF" на "RSRC_CONF|ACCESS_CONF": /* Command table */ static const command_rec suphp_cmds[] = { {"suPHP_Engine", suphp_handle_cmd_engine, NULL, RSRC_CONF|ACCESS_CONF, FLAG, "Whether suPHP is on or off, default is off"}, {"suPHP_ConfigPath", suphp_handle_cmd_config, NULL, OR_OPTIONS, TAKE1, "Where the php.ini resides, default is the PHP default"}, #ifdef SUPHP_USE_USERGROUP {"suPHP_UserGroup", suphp_handle_cmd_user_group, NULL, RSRC_CONF|ACCESS_CONF, TAKE2, "User and group scripts shall be run as"}, #endif {"suPHP_AddHandler", suphp_handle_cmd_add_handler, NULL, RSRC_CONF|ACCESS_CONF, ITERATE, "Tells mod_suphp to handle these MIME-types"}, {"suphp_RemoveHandler", suphp_handle_cmd_remove_handler, NULL, RSRC_CONF|ACCESS_CONF, ITERATE, "Tells mod_suphp not to handle these MIME-types"}, {NULL} }; Устанавливаем: ./configure --with-apxs=/usr/local/sbin/apxs --with-apache-user=www --with-logfile=/var/logs/suphp_log --prefix=/usr/local В моём случае apache работает от пользователя www Рихтуем /usr/local/etc/suphp.conf : [global] ;Path to logfile logfile=/var/log/suphp.log ;Loglevel loglevel=info ;User Apache is running as webserver_user=www ;Path all scripts have to be in docroot=/ ;Path to chroot() to before executing script ;chroot=/ ; Security options allow_file_group_writeable=false allow_file_others_writeable=false allow_directory_group_writeable=true allow_directory_others_writeable=false ;Check wheter script is within DOCUMENT_ROOT check_vhost_docroot=true ;Send minor error messages to browser errors_to_browser=false ;PATH environment variable env_path=/bin:/usr/bin ;Umask to set, specify in octal notation umask=0077 ; Minimum UID min_uid=100 ; Minimum GID min_gid=100 [handlers] ;Handler for php-scripts x-httpd-php=php:/usr/local/bin/php-cgi x-httpd-php5=php:/usr/local/php5/bin/php-cgi ;Handler for CGI-scripts ;x-suphp-cgi=execute:!self Добавляем в /usr/local/etc/apache/httpd.conf LoadModule suphp_module libexec/apache/mod_suphp.so AddModule mod_suphp.c <IfModule mod_suphp.c> suPHP_Engine on suPHP_UserGroup www www suPHP_AddHandler x-httpd-php suPHP_AddHandler x-httpd-php5 AddHandler x-httpd-php .php AddHandler x-httpd-php5 .php5 AddType application/x-httpd-php .php AddType application/x-httpd-php5 .php5 </IfModule> <IfModule mod_php4.c> AddType application/x-httpd-php .php AddType application/x-httpd-php .php4 AddType application/x-httpd-php .php3 AddType application/x-httpd-php-source .phps AddType application/x-httpd-php .phtml </IfModule> Настраиваем VHosts: <VirtualHost 10.10.10.114> ServerName test2.com DocumentRoot /home/www/test2.com <IfModule mod_suphp.c> suPHP_UserGroup test2.com test2.com </IfModule> </VirtualHost> В этом случае по умолчанию будет использваться php4. Если необходим php5 по умолчанию: <VirtualHost 10.10.10.114> ServerName test1.com DocumentRoot /home/www/test1.com <IfModule mod_suphp.c> suPHP_UserGroup test1.com test1.com AddHandler x-httpd-php5 .php #AddType application/x-httpd-php5 .php </IfModule> </VirtualHost> Если есть вопросы, комментируйте.

<< Предыдущая ИНДЕКС Исправить src / Печать Следующая >>

Обсуждение [ RSS ]
  • 1, Аноним (-), 15:21, 06/12/2007 [ответить]  
  • +/
    увы, это не то. Вот еслиб mod_php4 и mod_php5 вместе на одном апаче... С cgi как раз проблем нету.
     
  • 2, Аноним (-), 10:01, 09/12/2007 [ответить]  
  • +/
    на линух mod_php4 и 5 с патчем для 5  устанавливается  без проблем
     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру