Помощь

Все разделы помощи → Вопросы по виртуальному хостингу

Как установить PHP5 в режиме CGI?
Для установки php в режиме cgi, необходимо выполнить следующие действия:
  1. Создать текстовый файл с названием php (без расширения и без пробелов в имени) следующего содержания:

    #!/usr/bin/php-cgi -cphp-cgi.ini
  2. Закачать созданный файл php в cgi-bin директорию своего сайта
  3. Установить права на файл php 755 (-rwxr-xr-x)
  4. В файле httpdocs/.htaccess своего домена прописать:

    Action phpcgi-script /cgi-bin/php
    AddHandler phpcgi-script .php
  5. Если вы хотите иметь собственные настройки php, скачайте файл настроек:

    http://yum.mchost.ru/pub/web/php-cgi.ini

    Загрузите файл php-cgi.ini в папку cgi-bin вашего домена, где уже лежит файл php

Вывод ошибок в PHP

Иногда возникает необходимость получить информацию о том, какие ошибки возникают при выполнении PHP-скриптов. При использовании PHP как модуля Apache (по умолчанию именно так) вывод ошибок доступен в панели управления в разделе "Управление услугами", далее в таблице домена иконка "Лог ошибок".

Иногда имеет смысл включить вывод ошибок PHP-скриптов на экран. Возможно 2 случая:

  1. Если вы используйте PHP-интерпретатор как модуль Apache, создайте в той директории, где находятся скрипты, файл .htaccess (если он не существует) и добавьте 2 строки, одна из которых включает вывод ошибок в браузер, а вторая определяет уровень отображаемых ошибок:

    php_flag display_errors on
    php_value error_reporting 2047
  2. Если вы используете PHP-интерпретатор в режиме CGI, то для вывода ошибок следует в файле настроек для PHP, изменить значение параметра

    display_errors = Off

    на

    display_errors = On

    Кроме этого, надо изменить значение параметра error_reporting со значения E_ALL & E_NOTICE на простое E_ALL (по желанию).

Рекомендуем включать вывод всех ошибок, указывая для директивы error_reporting значение E_ALL(2047).

Использование собственного PHP

Существует возможность использовать PHP собственной версии на домене. Для этого понадобится тариф с поддержкой SSH-доступа.

Для того, чтобы скомпилировать такой PHP из исходных кодов, надо проделать следующее:

  1. Подключиться по SSH на сервер в домашнюю директорию, а затем перейти в директорию private/:

    $ cd ~/private
  2. Скачаем архив с нужной версией PHP. В данном примере это последняя версия ветки 5.2.х - 5.2.14 (другие версии можно найти на официальном сайте):

    $ wget http://ru.php.net/get/php-5.2.14.tar.bz2/from/ru2.php.net/mirror
  3. Разархивируем архив:

    $ tar -xjvf php-5.2.14.tar.bz2
  4. Переходим в директорию только что разархивированного архива:

    $ cd php-5.2.14
  5. Открываем файл install-sh (он пустой и не нужен для компиляции):

    $ nano -w install-sh

  6. Вписываем в него параметры компиляции PHP (вместо domain.tld нужно вписать имя Вашего домена) таким образом:

    #!/bin/sh

    ./configure --prefix=/home/httpd/vhosts/domain.tld/private/php-5.2.14 --enable-force-cgi-redirect --disable-debug --enable-inline-optimization --with-bz2 --with-db4=/usr --with-curl --with-freetype-dir=/usr --with-png-dir=/usr --with-gd --enable-gd-native-ttf --without-gdbm --with-gettext --with-iconv --with-jpeg-dir=/usr --with-openssl --with-pspell --enable-xml --with-libexpat-dir=/usr --with-zlib --enable-bcmath --enable-exif --enable-ftp --enable-magic-quotes --enable-sockets --enable-calendar --enable-mbstring --enable-mbregex --enable-zip --with-xsl --with-mysqli --with-mysql --with-pdo-mysql=shared --with-libdir=lib64
  7. Сохраняем файл, нажав Control+X, Y и Enter.
  8. Делаем файл исполняемым:

    $ chmod +x install-sh
  9. Запускаем этот скрипт:

    $ ./install-sh
  10. После выполнения скрипта компилируем:

    $ make
  11. Устанавливаем:

    $ make install
  12. Переходим в директорию cgi-bin/:

    $ cd ~/cgi-bin
  13. Создаем текстовый файл php5 (без расширения) с помощью такой команды (вместо domain.tld нужно вписать имя Вашего домена):

    $ echo '#!/home/httpd/vhosts/domain.tld/private/php-5.2.14/bin/php-cgi -cphp-cgi.ini' > php5
  14. Делаем его исполняемым:

    $ chmod +x php5
  15. В директории архива PHP лежат примеры файлов настроек. Скопируем один из них, переименовав сразу в php-cgi.ini:

    $ cp ../private/php-5.2.14/php.ini-dist php-cgi.ini

    Таким образом, в директории cgi-bin/ у нас должны находиться два файла - php5 и php-cgi.ini.

  16. Переходим в директорию httpdocs/:

    $ cd ~/httpdocs
  17. Создаем файл .htaccess:

    $ nano -w .htaccess
  18. Вписываем в него следующее:

    Action phpcgi-script /cgi-bin/php5
    AddHandler phpcgi-script .php

    Примечание: Если файл .htaccess уже присутствует (например, он был загружен со скриптом сайта), то надо дописать эти строки в него вместо создания файла.

  19. Сохраняем файл, нажав Control+X, Y и Enter
  20. Создаём файл phpinfo.php, чтобы проверить, что получилось:

    nano -w ~/httpdocs/phpinfo.php
  21. Вписываем в него следующее:

    <? phpinfo(); ?>
  22. Сохраняем файл, нажав Control+X, Y и Enter. Затем открываем его в браузере: http://domain.tld/phpinfo.php