Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Индивидуальные настройки PHP для сайтов

Лекция



Привет, Вы узнаете о том , что такое индивидуальные настройки php для сайтов, Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое индивидуальные настройки php для сайтов , настоятельно рекомендую прочитать все из категории Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend) .

В данной статье рассмотрено создание отдельной версии PHP на аккаунте, что позволяет протестировать или запустить новый сайт без глобальных правок PHP для аккаунта в целом.

Довольно часто могут возникать ситуации, когда необходимо, чтобы PHP-файлы в определенном каталоге обрабатывались интерпретатором PHP с отличной от основной версией. Например, это может потребоваться для тестирования новой версии сайта или в том случае, если на одном аккаунте размещается несколько сайтов, требующих различных настроек PHP.

Данная статья описывает способ настройки произвольного количества независимых версий PHP для работы в рамках одного аккаунта. Суть метода заключается в использовании собственного CGI-обработчика (враппера). Фактически, будет создан CGI-скрипт, единственной задачей которого будет правильная настройка переменных окружения и запуск интерпретатора PHP нужной версии. Затем при помощи единственной директивы в файле .htaccess веб-сервер будет проинструктирован о том, что все файлы с расширением .php внутри определенного каталога должны обрабатываться этим CGI-скриптом.

Рассмотрим на примере вариант решение данной задачи: пусть требуется для сайта site1.ru настроить обработку скриптов средствами PHP 5.2, в то время, как остальные сайты аккаунта продолжат работу с версией, указанной в панели управления хостингом.

  1. Авторизуйтесь на сервере хостинга, используя реквизиты доступа по SSH. Об этом говорит сайт https://intellect.icu . Для установки соединения можно воспользоваться программой PUTTY и инструкциями из статьи SSH-доступ, авторизация по ключу, использование SFTP.

  2. Создайте файл с CGI-скриптом (собственным PHP интерпретатором):

    touch ~/site1.ru/cgi-bin/php5.2 && chmod 755 ~/site1.ru/cgi-bin/php5.2
    
  3. Созданный файл нужно заполнить следующим текстом:

    #!/bin/sh
    export PHPRC="/home/uXXXXX/site1.ru"
    exec /usr/bin/php-cgi5.2 -- "$@"
    

    здесь:

    • uXXXXX -- имя Вашего пользователя на сервере хостинга. В большинстве случаев, совпадает с логином
    • /usr/bin/php-cgi5.2 -- собственно PHP v5.2
    • PHPRC -- переменная окружения, указывающая PHP каталог с конфигурационным файлом php.ini

    Список установленных на сервере версий PHP можно посмотреть при помощи следующей команды:

    ls /usr/bin/php-cgi*
    
  4. Конфигурационный файл php.ini скопируем из каталога с настройками основной версии PHP:

    cp ~/etc/php/php.ini ~/site1.ru/
    
  5. В скопированном файле нам потребуется поправить значение параметра extension_dir - нужно текущее значение заменить на следующее:

    /usr/lib/php5.2
    

    здесь имя целевого каталога определяется исходя из номера выбранной версии. Например, для PHP 5.3 целевой каталог с расширениями будет иметь имя php5.3.

  6. Теперь необходимо сообщить веб-серверу Apache о том, что для обработки PHP-файлов у нас будет использоваться собственный враппер. Создадим файл .htaccess в каталоге с именем сайта site1.ru и запишем в него следующее указание:

    Action application/x-httpd-php "/cgi-bin/php5.2"
    

    И еще один .htaccess создадим в каталоге site1.ru/cgi-bin со следующим текстом:

    <Files "php5.2">
        SetHandler fcgid-script
    </Files>
    
  7. Проверьте работоспособность выполненной конфигурации. Для этого создадим в каталоге ~/site1.ru/www/ файл phpinfo.php со следующим содержимым:

    <?php
    phpinfo();
    ?>
    
  8. Обратившись к созданному файлу через браузер, убедитесь в том, что Вы используете собственную конфигурацию PHP с версией 5.2. Это означает, что настройки выполнены правильно.

Выводы из данной статьи про индивидуальные настройки php для сайтов указывают на необходимость использования современных методов для оптимизации любых систем. Надеюсь, что теперь ты понял что такое индивидуальные настройки php для сайтов и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)

Из статьи мы узнали кратко, но содержательно про индивидуальные настройки php для сайтов
создано: 2016-09-17
обновлено: 2021-03-13
132390



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)

Термины: Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)