Как изменить версию php в консоли

Как сменить версию PHP?

Ознакомиться со списком доступных модулей для каждой версии PHP можно по ссылке.

Какие версии PHP поддерживаются на хостинге REG.RU
Как отключить eAccelerator, OPcache или Xcache

Как сменить версию PHP

Откройте панель управления и следуйте дальнейшей инструкции:

В разделе WWW выберите пунктWWW-домены:<\p>

На открывшейся странице из списка выберите домен, для которого хотите сменить версию PHP и нажмите Изменить:<\p>

В разделе «Дополнительные возможности» выберите нужную версию PHP и подтвердите изменения:<\p>

В панели ISPmanager 5 можно выбрать индивидуальную версию PHP для домена и индивидуальный файл php.ini для каждой версии сборки PHP.

Версия PHP субдоменов НЕ зависит от версии PHP родительского домена.

Если у вас заказан специализированный тарифный план Хостинга для 1C-Битрикс или VIP-тариф, в панели управления будут также доступны специально оптимизированные сборки PHP. Для работы CMS Bitrix мы рекомендуем использовать именно их: 5.3-bx-optimized, 5.4-bx-optimized, 5.5-bx-optimized.

Внимание: данные сборки доступны только на тарифах 1С Битрикс и на VIP-тарифах.

В разделе Программное обеспечение выберите пункт Выбор версии PHP:<\p>

На открывшейся странице из списка выберите домен, для которого хотите сменить версию PHP, и нажмите напротив него Изменить:<\p>

Выберите нужную версию PHP и подтвердите изменения:<\p>

В панели cPanel можно выбрать индивидуальную версию PHP для домена и индивидуальный файл php.ini для каждой версии сборки PHP.

Версия PHP субдоменов НЕ зависит от версии PHP родительского домена.

Во вкладке Сайты и домены выберите пункт Настройки PHP: На открывшейся странице в выпадающем списке выберите нужную версию PHP и нажмите Применить:<\p>

В панели Parallels Plesk Onyx 17 можно выбрать индивидуальную версию PHP для домена и индивидуальный файл php.ini для каждой версии сборки PHP.

Версия PHP субдоменов НЕ зависит от версии PHP родительского домена.

Как выбрать версию PHP при работе в командной строке (SSH)

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

/opt/php/5.2/bin/php-cgi # PHP 5.2 /opt/php/5.3/bin/php-cgi # PHP 5.3 /opt/php/5.4/bin/php-cgi # PHP 5.4 /opt/php/5.5/bin/php-cgi # PHP 5.5 /opt/php/5.6/bin/php-cgi # PHP 5.6 /opt/php/5.4-bx-optimized/bin/php-cgi # PHP 5.4 под Bitrix с eAccelerator /opt/php/5.4-bx-optimized2/bin/php-cgi # PHP 5.4 под Bitrix с xcache /opt/php/5.5-bx-optimized/bin/php-cgi # PHP 5.5 под Bitrix c OPcache /opt/php/5.6-bx-optimized/bin/php-cgi # PHP 5.6 под Bitrix c OPcache

Источник: https://www.REG.ru/support/hosting-i-servery/hosting-sajtov/yazyki-programmirovaniya-i-skripty/kak-smenit-versiyu-php

Как изменить версию PHP на хостинге

На данный момент (2018 год) актуальны следующие версии интерпретатора PHP:

  • PHP 5.3 (версия уже не новая, но все еще актуальная)
  • PHP 5.4 (наиболее распространенная версия пятой ветки, часто является минимальным требованием для многих скриптов)
  • PHP 5.6 (последняя стабильная версия пятого поколения, имеет ряд нововведений по сравнению с 5.4)
  • PHP 7.0 (первая стабильная версия 7-й ветки, имеет смысл использовать, только если нет более свежего, или ваше приложение привязано к конкретным особенностям этой версии)
  • PHP 7.1 (более свежая версия, на многих хостингах, максимум, что доступно)
  • PHP 7.2 (последняя стабильная версия)

Переходить на 7-ю ветку PHP однозначно стоит, если используете современную CMS (например, Drupal 8) или framework (например, Laravel 5.5 и выше). Также многие даже не очень свежие скрипты и приложения могут требовать минимум php5.4.

Еще одной причиной перехода на последние версии PHP может быть, написание или использование CLI (консольных) php-приложений, когда нет необходимости поддерживать обратную совместимость.

В панели cPanel всё очень просто (не зря большинство хостеров в мире используют именно ее). После логина, ищем раздел «Programming», там кликаем на иконку «PHP Config», в открывшемся окне выбираем нужную версию и сохраняем.

В панели ispmanager после входа идем в боковое меню, раздел «WWW». Далее выбираем пункт «WWW-Домены», отмечаем нужный нам домен и нажимаем кнопку «Изменить» сверху.

На открывшейся странице ищем раздел «Дополнительные возможности», там строка «Версия PHP». И через выпадающий список задаем нужную версию. Для сохранения изменения не забудьте нажать кнопку «ОК».

Для примера была взята панель хостинга SmartApe.

Переходим в раздел «Сайты и домены». Далее «Смена версии PHP», и выбираем нужную версию.

Перейти на Таймвебе «Главное меню (боковое) – Сайты – Выбрать нужный сайт – нажать зеленую кнопку с шестеренкой напротив сайта – в раскрывающемся списке выбрать версию PHP».

На данный момент доступны следующие версии: 5.3, 5.4, 5.6, 7.0, 7.1. Рекомендуем выбирать или 5.6 или 7.1.

С главного экрана панели управления перейти в раздел «Сайты». Напротив нужного сайта есть сиреневый значок с надписью «PHP» – нажать на него. В раскрывающемся списке выберите необходимую версию.

У Бегета доступны версии PHP: 5.2, 5.3, 5.6, 7.0, 7.1, 7.2. Рекомендуем использовать или php5.6, или php7.2.

Обратите внимание, у этого хостера можно не только выбрать версию php для сайта, но и прямо из панели (в том же окне, что и настройка версии) можно задать необходимые директивы для файла php.ini. В некоторых случаях это может быть очень полезно.

Чтобы сменить версию PHP у компании СпринтХост, в главном боковом меню перейдите в раздел «Сайты и домены – Управление сайтами». Выберите нужные вам домены (нужно установить галочку) и из формы под списком доменов выберите нужную версию PHP. Нажмите кнопку «Применить для сохранения».

SprintHost предоставляет следующие версии интерпретатора:  5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2 – завидное разнообразие! К выбору рекомендуем 5.6 или 7.2

Для управления версией PHP у ВебХост1 нужно войти в «хостинг-панель» (да-да, у них раздельные панели управления хостингом и биллингом!). В панели управления перейти в раздел «Домены». В таблице с перечнем ваших доменов, в строке с нужным вам найдите ссылку «Настройки» и нажмите её. На появившейся странице выберите нужную версию PHP и нажмите кнопку «Изменить настройки».

У Webhost1 доступны всего 3 версии PHP: 5.3, 5.6 и 7.1. По умолчанию на новых аккаунтах будет использоваться php 7.1.

В Хостлэнде для смены PHP в главном меню выберите раздел «Домены». Затем в выпадающем списке напротив нужного домена установите нужную версию языка и нажмите рядом синюю кнопку с дискеткой для сохранения настроек.

Hostland позволяет выбрать PHP 5.2, 5.3, 5.4, 5.5, 5.6, 7.0, 7.1, 7.2. Мы рекомендуем использовать версии 5.6 и 7.2.

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

Проверить, какие версии установлены на сервере можно так:

$ whereis php php: /usr/bin/php /usr/bin/X11/php /usr/local/bin/php /opt/php7.0/bin/php /opt/php71/bin/php /opt/php7.1/bin/php /opt/php56/bin/php /opt/php53/bin/php /opt/php5.6/bin/php /opt/php5.4/bin/php /opt/php72/bin/php /opt/php5.3/bin/php /opt/php54/bin/php /opt/php70/bin/php

Чтобы узнать текущую консольную (cli) версию используем php -v:

$ php -v PHP 5.6.37 (cli) (built: Jul 24 2018 00:54:11) Copyright (c) 1997-2016 The PHP Group Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies     with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v10.2.2, Copyright (c) 2002-2018, by ionCube Ltd.     with Zend Guard Loader v3.3, Copyright (c) 1998-2015, by Zend Technologies

Тут видно, что на данный момент у нас текущая версия php для консоли 5.6.

Проверяем путь запуска cli-php:

$ which php /usr/local/bin/php

Текущая дефолтная версия задается через /usr/local/bin/php – это символическая ссылка. Узнать на какую именно версию ведет эта ссылка просто:

$ ls -l /usr/local/bin/php /usr/local/bin/php -> /usr/bin/php $ ls -l /usr/bin/php /usr/bin/php -> /opt/php56/bin/php

Предположим, что нам нужно изменить версию 5.6 на 7.2. Для этого нам нужно просто переназначить ссылку /usr/bin/php на /opt/php72/bin/php. Делается это командой:

$ ln -f -s /usr/bin/php /opt/php72/bin/php

Источник: https://hostinghub.ru/info/kak-izmenit-versiyu-php-na-hostinge

Как быстро узнать и за минуту поменять версию php

Оглавление

  • TimeWeb
  • ISPmanager 5 и выше

Приветствую вас в блоге Start-Luck. Не все более новое и совершенное – хорошо. Сегодня мы поговорим с вами о том, как узнать версию php на хостинге и поменять ее. Если вы разбираетесь в этом, то это даст большие преимущества, но так ли они нужны вам в действительности и не приведет ли это к негативным последствиям?

Если абы как менять версию php, то у вас могут вылезти ошибки, но если все сделано с умом и правильно, то производительность и скорость повышается на треть.

Если вас действительно интересует php и все, что с этим связано, я могу предложить вам курс по программированию на GeekBrains.ru. Его преимущество заключается в том, что после прохождения вам даже помогут найти место для стажировки.

Если уже сейчас вы отдаете себе отчет в том, что делаете, давайте поскорее перейдем к инструкции. Вы можете также почитать эту статью, если проект новый. Вы еще не опубликовали ни одной статьи, о чем вам переживать?

Дело в том, что по умолчанию, на хостинге устанавливается более старая версия php, чтобы искусственно снизить производительность. Думаю, не нужно объяснять для чего это делается.

TimeWeb

Для начала я расскажу вам как действовать на примере сайта, расположенного на хостинге TimeWeb. Для меня это проще всего, так как все мои проекты и тестовая площадка обучающих статей этого блога расположена именно на ТаймВебе. Это самый простой хостинг, который только можно придумать. Любая работа здесь осуществляется при помощи нажатия пары кнопок.

Я обещал читателям, подписавшимся на рассылку, что буду каждый новый урок вести именно по этому хостингу. Так что, если вы захотите учиться вместе с нами, милости прошу. Подписывайтесь на рассылку и давайте работать вместе.

Читайте также:  Настройка mikrotik контроллера capsman для бесшовного wifi роуминга на примере routerboard 2011uias-2hnd-in

Теперь пару слов для начинающих, не особенно разбирающихся в php, но жаждущих повысить производительность своего сайта. В любом случае вы можете попытаться все обновить, но в этом случае прежде всего вам следует сохранить свой сайт при помощи плагина Duplicator, о котором я писал в статье про переезд сайта на WordPress.

В этом случае, если впоследствии что-то пойдет не так, вы сможете сделать back up и вернуть все как было. Залить старый сайт по новой, забыв про усовершенствование языка. Это не настолько существенная штука, чтобы морочить голову с правками.

Как вам объяснить? Получится – хорошо, нет – не вижу смысла морочить голову и пытаться все настроить. Слишком большой объем информации придется постичь, чтобы все исправить. Давайте приведу пример, чтобы стало понятнее.

В вашем гараже лежит несколько дрелей. Есть одна, привычная, которая прекрасно делает дырки, вы к ней привыкли и любите ее всей душой. Есть также вторая, более навороченная, но с другой ручкой и массой тонкостей для настройки.

Если ли смысл тратить уйму времени на то, чтобы привыкать к чему-то новому и продвинутому? Может лучше оставить ее в покое, пока в дом не придут профессионалы и не научат ей пользоваться? Думаете, сейчас самое лучшее время для обучения? Быть может для начала лучше уделить больше внимания каким-то более полезным вещам?

Но тем не менее попробовать стоит.

Итак, для работы вам нужно зайти в личный кабинет на TimeWeb и перейти в раздел «Сайты». Затем отыщите по домену проект, версию php которого вы хотите проверить и при необходимости сменить. Рядом с названием папки нажмите на зеленую гаечку.

Как вы видите, под комментарием к сайту расположена информация о том, какая версия у вас установлена. Изменить ее не составляет никакого труда.

Осталось только сохранить настройки. Кстати, про UTF и Widows 1251 в моем блоге тоже есть публикация, которая может вас заинтересовать.

Если вы только начинаете создавать сайт и на нем нет ни единой статьи, то замена версии полностью безопасна, так что – делайте это и даже не думайте лишний раз.

ISPmanager 5 и выше

Без особых проблем могу показать вам как работать в ISPmanager пятой версии. Еще один аккаунт у меня расположен на сервисе HandyHost. Когда-то они предлагали полугодовой тестовый период, сейчас длительность составляет всего 3 месяца, но мой срок еще не кончен, так что пока еще это не вызывает особой проблемы.

Итак, захожу в панель управления сайтом. И прямо на главной странице нахожу версию php, которая используется сейчас.

Перехожу в раздел WWW и тут отыскиваю php, далее кликаю «Версия php».

Просто выбираю то, что мне сейчас нужно, и сохраняюсь.

В более современных моделях этой панели нужная ссылка находится в разделе «Настройки» — «Возможности».

Ставите нужную галочку и применяете изменения.

Если работаете на виртуальном хостинге с еще более совершенным ISP, то в разделе «Инструменты» выбираете ссылку «Смена версии php» и меняете ее относительно выбранного домена.

Вот и все. Могу также предложить вам интересную статью о том, как понять php и на этом с вами прощаюсь.

Источник: http://start-luck.ru/obsluzhivanie-sayta/kak-uznat-versiyu-php.html

PHP: использование программ на языке PHP

Пользователям хостинга предоставляется возможность использовать на своих сайтах программы на языке PHP (в соответствии с тарифным планом). У нас установлена одна из последних версий PHP и мы стараемся по мере возможности ее обновлять. Текущую конфигурацию можно посмотреть при помощи функции phpinfo().

Пример скрипта для просмотра конфигурации PHP:

Что такое PHP и как начать с ним работать

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

Если Вы хотите добавить динамику и интерактив на свой сайт, но при этом не хотите изучать более сложные языки вроде Perl, можно использовать PHP. Этот язык также содержит большое количество встроенных возможностей для работы с популярной СУБД MySQL, что делает выбор PHP для веб-программирования еще более привлекательным.

Начать использовать PHP очень просто: нужно создать в веб-пространстве файл с расширением *.php и поместить в него нужные PHP-инструкции. Например, создадим файл test.php в каталоге www вашего домена и поместим в него следующий текст:

Теперь откройте страницу http://www.ваш_домен.ru/test.php и Вы увидите результат выполнения скрипта. PHP — это просто.

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

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

Поддерживаемые на нашем хостинге функции

Мы используем одну из последних версий PHP в виде модуля для веб-сервера Apache, которая собрана с поддержкой следующих модулей (функций):

  • bcmath
  • calendar
  • ctype
  • curl
  • date
  • dba
  • dom
  • ereg
  • filter
  • ftp
  • gd
  • gettext
  • hash
  • iconv
  • imap
  • json
  • libxml
  • mbstring
  • mcrypt
  • mhash
  • mysql
  • mysqli
  • mysqlnd
  • openssl
  • pcre
  • PDO
  • pdo_mysql
  • Reflection
  • session
  • SimpleXML
  • SPL
  • standard
  • tokenizer
  • xml
  • xmlreader
  • xmlwriter
  • xsl
  • zip
  • zlib

Интерпретатором PHP автоматически обрабатываются как PHP-сценарии файлы со следующими расширениями:

То есть, файлы, имеющие такие расширения, будут автоматически обрабатываться веб-сервером как PHP-скрипты. Например, index.php или 123.phtml. Пользователь может самостоятельно добавить собственные расширения для обработки соответствующих файлов как PHP-сценариев, поместив в файл .htaccess строку вида:

AddType application/x-httpd-php .ext1 .php3 .htmlгде ext1, php3 и .html — добавляемые расширения в названии файлов. Например, в данном случае PHP-скриптами будут считаться файлы index.ext1, file.php3 и test.html.

Отправка писем с вложениями при помощи функции mail

Ссылки на готовые примеры скриптов, использующих функцию mail для отправки писем с вложениями, есть в документации на сайте разработчика: LII. Mail Functions.

Авторизованная отправка писем с серверов виртуального UNIX-хостинга

В целях безопасности, на всех серверах виртуального UNIX-хостинга заблокированы исходящие соединения на 25 порт и 587, поэтому необходимо использовать альтернативный номер порта, который нужно уточнить у владельца SMTP-сервера. Если отправка будет осуществляться через наш SMTP-сервер, используйте порт 2525.

Пример авторизованной отправки почты с использованием smtp-сервера.

Скачать пример готового скрипта с функцией MailSmtp(): smtpauth.php.sample

Использовать описанную выше функцию MailSmtp() можно для прямой замены функции mail(). Рассмотрим пример самой простой формы на PHP:

  
    To:   
    Subj:      Msg:  
    
  

Для того, что бы данная форма заработала без функции mail() мы включили файл smtpauth.php через require_once и вызвали функцию MailSmtp(), описанную в нем, с аналогичными для mail() аргументами. При этом сам вызов mail() мы закомментировали в коде, что бы избежать ошибки при выполнении скрипта.

Отправка писем при помощи функции mail()

В следующим примере мы воспользуемся встроенной функцией mail(), где в качестве параметров, клиентские данные будут переданы посредством $_POST запроса.

  
    From:   
    To:   
    Subj: 
    Msg:  
    
  

Проблемы работы функций strtoupper() и strtolower() с кириллицей

Проблемы при работе с кириллицей в PHP-скриптах функций strtoupper() и strtolower() возникают, когда неправильно определена текущая локаль (locale). Для правильного её определения следует воспользоваться функцией setlocale() в самом начале вашего PHP-сценария:

Поиск с помощью Яндекс.XML

Если Вы решили воспользоваться сервисом Яндекс.

XML, то прежде всего вам потребуется выделенный IP-адрес, который Вы можете добавить для любого домена в личном кабинете: в меню Древо услуг > Домен, напротив характеристики «выделенный IP/SSL» нажмите «добавить» (в данном случае подключать SSL не обязательно, но в комментариях обязательно укажите причину, по которой вам понадобился выделенный IP-адрес).

Далее для организации запроса именно с выделенного IP-адреса существует несколько вариантов:

Использовать функцию socket_bind:

Здесь переменная $search обозначает только сам поисковый запрос, как это описано на сайте Яндекса, то, что написано после выражения «query=».

C помощью curl_setopt:

Переменная $search — HTTP-запрос целиком (то есть URL).

Как измененить версию PHP

Для изменения версии PHP пройдите в личный кабинет https://cp.masterhost.ru, нажмите на пункт меню «Древо услуг» и выберите вашу виртуальную площадку uXXXXX. Далее в списке параметров найдите строчку смена версии ПО и нажмите кнопку изменить, как показано на рисунке.

Если необходимо изменить версию PHP только для одного домена, то необходимо в «Древе услуг» выбрать домен, далее PHP и нажать кнопку изменить, как на рисунке:

Затем в выпадающем списке выбрать нужную версию PHP.

Как увеличить лимиты: потребление оперативной памяти (memory_limit), время выполнения скрипта (max_execution_time) и т.п

Лимиты потребления PHP-интерпретатором ресурсов сервера (memory_limit, max_execution_time и т.п.) регулируются тарифным планом площадки виртуального хостинга.

Чтобы увеличить такие лимиты, необходимо перейти на следующий по старшинству тарифный план. Ознакомиться с техническими параметрами Вашего тарифного плана можно в Приложении №1.

1 к Публичной оферте (Договору), а также на странице с выводом функции phpinfo(), ссылка на которую доступна на странице с характеристиками тарифного плана.

Как собрать свой собственный интерпретатор PHP или внести изменения на уровне компиляции PHP (добавление модулей, изменение системных опций PHP_INI_SYSTEM)

На серверах виртуального хостинга недоступен Си-компилятор, поэтому сборка из исходных кодов собственного PHP-интерпретатора невозможна.

Если для работы Вашего проекта требуется нестандартная конфигурация PHP или наличие библиотек, которые отсутствуют в нашей сборке, мы рекомендуем рассмотреть наши услуги по аренде виртуального (VPS) или физического (dedicated) сервера без нашего администрирования.

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

Также о возможности установки нестандартного ПО на Вашей площадке Вы можете уточнить у наших инженеров службы технической поддержки, отправив письменную заявку “на свободную тему” из Личного кабинета. Возможно, предоставление этого ПО на площадках виртуального хостинга уже находится в наших ближайших планах, или мы сможем установить его для Вас на dediacated сервер с нашим администрированием.

Читайте также:  Мои программы для системного администрирования

Как изменить значение опций, имеющих статус изменяемости PHP_INI_PERDIR или PHP_INI_ALL

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

На открывшейся странице Вам будет доступен интерфейс управления некоторыми настройками PHP-интерпретатора

Если нужной директивы со статусом изменяемости PHP_INI_PERDIR или PHP_INI_ALL нет в списке, Вы можете изменить ее с помощью управляющего файла .htaccess

В следующем примере мы изменим значение директивы mail.log, которая в качестве параметра принимает путь до файла, в который будут записываться все вызовы функции mail() при отправке писем скриптами сайта. Для этого воспользуемся файлом .htaccess, в который нужно добавить всего одну строчку.

php_value mail.log “/home/u12345/phpmail.log”

Теперь все вызовы функции mail() скриптами этого сайта будут записываться в файл phpmail.log в корне площадки u12345. Аналогичным образом можно менять и другие директивы, если их статус изменяемости соответствует PHP_INI_PERDIR или PHP_INI_ALL.

Напомним значение и расшифровку констант PHP_INI_*:

Список, описание и статус изменяемости директив можно найти в приложении G документации PHP.

Как выполнять PHP-скрипты в заданное время по расписанию

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

Подробности о работе cron и его использовании Вы найдете в отдельном документе. Здесь же мы опишем тонкости запуска таким образом именно PHP-скриптов.

На наших серверах установлен бинарный файл интерпретатора PHP, который можно вызывать из cron. Полный путь к нему — /usr/local/bin/php. В качестве параметра нужно передать полный путь до запускаемого PHP-скрипта. Пример задания для cron:

в случае с PHP 5 

0 1 * * * /usr/local/bin/php /home/uXXXXX/script.php

или в случае с PHP 4

0 1 * * * /usr/local/bin/php /home/uXXXXX/script.php

В данном примере скрипт, который находится на диске сервера и имеет полный путь /home/uXXXXX/script.php, запускается в 1 час ночи каждый день. Не забывайте нажимать Enter после каждой строки в cron — все строки в сценариях cron должны заканчиваться переводом строки или задание работать не будет.

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

Иногда возникает необходимость получить информацию о том, какие ошибки возникают при выполнении PHP-скриптов. При использовании PHP как модуля Apache (по умолчанию именно так) вывод ошибок доступен в личном кабинете в меню Древо услуг в разделе Домен domain.tld, где domain.tld — имя вашего домена, далее характеристика HTTP > error_log.

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

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

php_flag display_errors on
php_value error_reporting 2047

Число 2047 является значением константы E_ALL и включает вывод всех типов ошибок. Значение константы E_ALL зависит от версии PHP. Точное значение можно узнать на сайте разработчика.

Если Вы используете PHP-интерпретатор как CGI, то для вывода ошибок следует в файле настроек для PHP, изменить значение параметра

display_errors = Offна display_errors = On

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

Ошибки при выполнении PHP-скриптов могут быть разного типа. Полный список констант, определяющих тип отображаемых ошибок, может быть найден на сайте разработчика

Ограничения

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

  • dl
  • shell_exec
  • exec
  • system
  • passthru
  • popen
  • proc_open
  • proc_nice
  • proc_get_status
  • proc_close
  • proc_terminate
  • posix_mkfifo
  • set_time_limit
  • chown
  • chgrp
  • accelerator_reset
  • opcache_reset
  • accelerator_get_status
  • opcache_get_status
  • pcntl_alarm
  • pcntl_fork
  • pcntl_waitpid
  • pcntl_wait
  • pcntl_wifexited
  • pcntl_wifstopped
  • pcntl_wifsignaled
  • pcntl_wexitstatus
  • pcntl_wtermsig
  • pcntl_wstopsig
  • pcntl_signal
  • pcntl_signal_dispatch
  • pcntl_get_last_error
  • pcntl_strerror
  • pcntl_sigprocmask
  • pcntl_sigwaitinfo
  • pcntl_sigtimedwait
  • pcntl_exec
  • pcntl_getpriority
  • pcntl_setpriority

Если на самом деле Вы хотите использовать функции вроде exec для выполнения периодических заданий вроде бэкапа баз MySQL, пожалуйста, используйте для этого cron. Если же нужно разово выполнить какую-то команду, можно использовать для этого UNIX shell.

Источник: https://masterhost.ru/support/doc/php

Изменение версии PHP

Существует несколько способов поменять версию PHP, в том числе и напрямую через командную строку сервера. Мы рассмотрим способы, которые предлагает панель управления ISPmanager. Она позволяет выполнить настройки через удобный web-интерфейс, не прибегая к ручным настройкам сервера.

Версия PHP как модуль Apache

Такая возможность появилась в ISPmanager версии 5.90.

Чтобы использовать версию PHP как модуль Apache, установите её на сервер. Выполнить установку вы можете в разделе Настройки → Возможности. Выберите нужную версию и нажмите кнопку Изменить, как указано на скриншоте.

В открывшемся окне установите галочку в поле ISPsystem модуль PHP для Apache версии 5.4 (указанная версия PHP зависит от выбранной вами) и нажмите кнопку Применить изменения.

После начнётся установка выбранной версии PHP. Когда установка будет завершена, перейдите в раздел Настройки web-сервера → PHP, выберите установленную версию PHP и нажмите кнопку Как модуль Apache.

Готово! Теперь сайт использует установленную версию PHP через модуль Apache. Чтобы удостовериться, что на сервере используется установленная версия PHP, перейдите в раздел Домены → WWW-домены, информация указана в полях Режим работы PHP и Версия PHP.

Версия PHP как модуль CGI

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

Важно! Использовать PHP в режиме CGI могут только пользователи с соответствующими правами. Чтобы проверить, имеет ли ваш пользователь эти права, перейдите в раздел Учётные записи → Пользователи.

Выберите пользователя, для которого вы настраиваете версию PHP, и нажмите кнопку Изменить. Далее найдите пункт Может использовать PHP в режиме CGI и установите напротив него галочку, после нажмите кнопку Ок.

Если галочка установлена, переходите к следующему шагу.

Теперь нужно установить необходимую версию PHP на сервере. Для этого перейдите в раздел Настройки → Возможности, выберите нужную версию PHP и нажмите кнопку Изменить.

Проверьте, чтобы в поле ISPsystem PHP версии 5.4 был выбран пункт PHP 5.4 CGI (указанная версия PHP зависит от выбранной вами). После этого нажмите кнопку Применить изменения.

По умолчанию можно использовать PHP-FPM — стоит галочка в пункте ISPsystem PHP 5.5 для PHP-FPM. Если вам не нужна эта возможность, уберите галочку.

По завершении установки перейдите в раздел Домены → WWW-домены, выберите сайт для которого требуется изменить версию PHP и нажмите кнопку Изменить. В открывшемся окне измените пункт Режим работы PHP на CGI и нажмите кнопку Ок.

Если вам нужен модуль FastCGI

— потребуется установка web-сервера Nginx. Далее в панели ISPmanager, пункт Версия PHP (CGI) нужно установить необходимую версию PHP (изменить версию PHP можно, если на сервере установлено несколько версий). Для применения настроек нажмите кнопку Ок.

Чтобы проверить, используется ли установленная версия PHP, перейдите в раздел Домены → WWW-домены. Поля Режим работы PHP и Версия PHP сообщают о версии PHP, которая используется на сайте.

Источник: https://ispserver.ru/help/php-apache-cgi

PHP selector или как изменить версию PHP для сайта?

Для многих пользователей иногда важно, какая версия PHP установлена на сервере хостинг провайдера, так как для сайтов многих из них подходит только определённая версия PHP, и данный сайт может работать только на этой одной версии.

Очень часто пользователи сначала покупают хостинг и переносят данные сайта
(файлы и базы данных) на сервера хостинг провайдера и только потом начинают
выяснять, какая именно версия PHP больше всего подходит для сайта.

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

Совсем недавно компания сPanel нашла выход из данной ситуации и решила вопрос с версиями PHP для сайтов с помощью модуля cPanel PHP Selector. Теперь просто достаточно  установить на сервер LVE Manager с помощью вашей панели управления WHM, а после этого установить PHP selector с нужными версиями PHP и модулями.

yum install lvemanager

yum groupinstall alt-php

После установки LVE Manager появится в вашей панели WHM:

Теперь Ваш хостинг может  поддерживать более двух установленных версий PHP одновременно. Вы самостоятельно можете выбирать версию для вашего сайта, а также активировать нужные модули или акселераторы.

Выбор PHP версии и установка настроек PHP

На выбор будут доступны версии PHP 5.2, 5.3, 5.4. Из предустановленных акселераторов вы можете выбирать: apc, xcache, memcache, zend_optimizer, eaccelerator.

С новой возможностью выбора версии PHP для вашего сайта у вас также осталась возможность редактировать настройки файла php.ini, добавляя в него нужные параметры. Теперь файл php.ini не нужно копировать в домашний каталог. Для каждой версии php используется свой собственный файл, который находится в каталоге /etc/cl.php.d/

Читайте также:  Заражение web сервера вирусом криптомайнером

Для каждой версии php имеется своя подпапка, в которой находится свой собственный php.ini  файл всех версий php.

Альтернативный файл настроек php Вы можете отредактировать, используя утилиты Putty или WinSCP(для пользователей Windows),

а для пользователей Linux и Mac это можно сделать через командную строку (Terminal) или файловый менеджер с поддержкой SSH.

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

Основные модули PHP Selector

Selector is enabled — показывает, что функция PHP Selector активирована на сервере.

Модули, напротив которых установлены галочки — это модули, установленные под каждую версию по умолчанию.

Список рекомендуемых модулей для установки при установленном на сервере модуле PHP Selector:

ncurses oauth odbc openssl pcntl
pcre pdo pdo_mysql pdo_odbc pdo_pgsql
pdo_sqlite pgsql phar posix pspell
quickhash recode reflection rsync session
shmop simplexml snmp soap sockets
sourceguardian spl spl_types sqlite ssh
standard stomp suhosin sysvmsg sysvsem
sysvshm tidy timezonedb tokenizer translit
uploadprogress uri_template wddx weakref xcache
xml xmlreader xmlrpc xmlwriter xrange
xsl zip zlib

Если Вы владелец сервера, с помощью PHP Selector вы можете выбрать нужный набор модулей в зависимости от потребностей ваших сайтов. Бывает, что для одного сайта нужен обязательно Mbstring модуль, а другой не будет работать без xmlreader модуля, в результате этого, необходимо просить техническую поддержку постоянно доставлять нужные вам модули.

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

Модуль PHP Selector особенно необходим тем пользователям, которые имеют несколько аккаунтов, размещенных на разных версиях PHP. Таким образом, вам не нужно будет один аккаунт размещать на сервере с поддержкой php 5.3, а другой на сервере в php 5.2.

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

Источник: http://americanohost.ru/change-version-php/

Поддержка PHP на хостинге

PHP (PHP Hypertext Preprocessor) – язык программирования, ориентированный на создание динамических документов для www. Исполнение программы (скрипта) на PHP происходит на сервере, текст PHP-скрипта включается непосредственно в html-документ между специальными тэгами.

Как организована поддержка PHP на виртуальном хостинге.

PHP подключается в виде модуля веб-сервера Apache (mod_php). Это дает возможность использовать ряд возможностей PHP, которые недоступны в CGI версии, например, HTTP-авторизацию и постоянные соединения с базой данных (persistent connection), что зачастую дает большую производительность, например, при активном использовании MySQL.

Как изменить версию PHP.

Выбрать нужную версию PHP можно в Панели управления в разделе Хостинг.

Обратите особое внимание на то, что Вы не можете одновременно использовать две разные версии PHP. Поэтому при смене версии PHP постарайтесь убедиться в том, что написанный вами код совместим с этой версией языка PHP. Обязательно обращайте внимание на те ошибки, которые, возможно, будут возникать при исполнении ваших скриптов.

Текущую версию PHP, а также другие настройки можно посмотреть,​ авторизовавшись по ссылке domain_name/zphpinfo с техническим логином (vhXXXXX, где XXXXX – цифры).

Версии PHP и оптимизаторы

На виртуальном хостинге доступны версии PHP 5.3, 5.45.67.0 и 7.2 с различными оптимизаторами. Сменить версию можно по инструкции.

Если ни один из сконфигурированных нами оптимизаторов не подходит, на тарифных планах Зенон-420, Зенон-630 и Зенон-840 допускается использование собственного файла конфигурации php.

ini, в котором можно выполнить необходимые настройки. Он должен располагаться в корневом каталоге аккаунта и иметь название вида phpXX.ini, где XX – номер версии. Например, для PHP 5.6 это будет php56.ini, для 7.

0 – php70.ini и т.д.

Подключить собственный php.ini можно в Панели управления, выбрав оптимизатор «Users php.ini» и скопировав исходный ini-файл в корень Вашей площадки (подробнее смотрите инструкцию по нужной версии PHP ниже).

PHP 5.3

Поддерживаемые оптимизаторы:

  • APC – включает кеширующий модуль APC (php53_apc.ini)
  • Bitrix – содержит оптимальные настройки для CMS Bitrix (php53_bitrix.ini)
  • Bitrix with support UTF – оптимизатор Bitrix с поддержкой кодировки UTF-8 (php53_bitrix_mb.ini)
  • eAccelerator – включает акселератор eAccelerator (php53_eaccelerator.ini)
  • Users php.ini – включает использование собственного php.ini (доступен на тарифных планах Зенон-420, Зенон-630 и Зенон-840)

Подключение собственного php.ini без оптимизатора для PHP 5.3:

cp /usr/local/php53/lib/php.ini ~/php53.ini

Если нужен ini-файл с оптимизатором, то вместо php.ini указываете название нужного файла, например:

cp /usr/local/php53/lib/php53_apc.ini ~/php53.ini

Для применения настроек после внесения изменений необходимо подождать пока перезапустится web-сервер, либо перезапустить его командой:

aprestart stop

PHP 5.4

Поддерживаемые оптимизаторы:

  • APC – включает кеширующий модуль APC (php54_apc.ini)
  • Bitrix – содержит оптимальные настройки для CMS Bitrix (php54_bitrix.ini)
  • Bitrix with support UTF – оптимизатор Bitrix с поддержкой кодировки UTF-8 (php54_bitrix_mb.ini)
  • eAccelerator – включает акселератор eAccelerator (php54_eaccelerator.ini)
  • Users php.ini – включает использование собственного php.ini (доступен на тарифных планах Зенон-420, Зенон-630 и Зенон-840)

Подключение собственного php.ini без оптимизатора для PHP 5.4:

cp /usr/local/php54/lib/php.ini ~/php54.ini

Если нужен ini-файл с оптимизатором, то вместо php.ini указываете название нужного файла, например:

cp /usr/local/php54/lib/php54_apc.ini ~/php54.ini

Для применения настроек после внесения изменений необходимо подождать пока перезапустится web-сервер, либо перезапустить его командой:

aprestart stop

PHP 5.6

Поддерживаемые оптимизаторы:

  • Opcache – включает кеширующий модуль OPcache (php56_opcache.ini)
  • xCache – включает акселератор xCache (php56_xcache.ini)
  • Bitrix – содержит оптимальные настройки для CMS Bitrix (php56_bitrix.ini)
  • Bitrix with support UTF – оптимизатор Bitrix с поддержкой кодировки UTF-8 (php56_bitrix_mb.ini)
  • Users php.ini– включает использование собственного php.ini (доступен на тарифных планах Зенон-420, Зенон-630 и Зенон-840)

Подключение собственного php.ini без оптимизатора для PHP 5.6:

cp /usr/local/php56/lib/php.ini ~/php56.ini

Если нужен ini-файл с оптимизатором, то вместо php.ini указываете название нужного файла, например:

cp /usr/local/php56/lib/php56_opcache.ini ~/php56.ini

Для применения настроек после внесения изменений необходимо подождать пока перезапустится web-сервер, либо перезапустить его командой:

aprestart stop

PHP 7.0

Поддерживаемые оптимизаторы:

  • Opcache – включает кеширующий модуль OPcache (php70_opcache.ini)
  • xCache – включает акселератор xCache (php70_xcache.ini)
  • Bitrix – содержит оптимальные настройки для CMS Bitrix (php70_bitrix.ini)
  • Bitrix with support UTF – оптимизатор Bitrix с поддержкой кодировки UTF-8 (php70_bitrix_mb.ini)
  • Users php.ini – включает использование собственного php.ini (доступен на тарифных планах Зенон-420, Зенон-630 и Зенон-840)

Подключение собственного php.ini без оптимизатора для PHP 7.0:

cp /usr/local/php70/lib/php.ini ~/php70.ini

Если нужен ini-файл с оптимизатором, то вместо php.ini указываете название нужного файла, например:

cp /usr/local/php70/lib/php70_opcache.ini ~/php70.ini

Для применения настроек после внесения изменений необходимо подождать пока перезапустится web-сервер, либо перезапустить его командой:

aprestart stop

PHP 7.2

Поддерживаемые оптимизаторы:

  • Opcache – включает кеширующий модуль OPcache (php72_opcache.ini)
  • xCache – включает акселератор xCache (php72_xcache.ini)
  • Bitrix – содержит оптимальные настройки для CMS Bitrix (php72_bitrix.ini)
  • Bitrix with support UTF – оптимизатор Bitrix с поддержкой кодировки UTF-8 (php72_bitrix_mb.ini)
  • Users php.ini – включает использование собственного php.ini (доступен на тарифных планах Зенон-420, Зенон-630 и Зенон-840)

Подключение собственного php.ini без оптимизатора для PHP 7.2:

cp /usr/local/php72/lib/php.ini ~/php72.ini

Если нужен ini-файл с оптимизатором, то вместо php.ini указываете название нужного файла, например:

cp /usr/local/php72/lib/php72_opcache.ini ~/php72.ini

Для применения настроек после внесения изменений необходимо подождать пока перезапустится web-сервер, либо перезапустить его командой:

aprestart stop

Где размещать PHP-скрипты и какие должны быть расширения у файлов

Ваши PHP-скрипты могут быть размещены в каталоге www в директории, соответствующей имени сайта.

Например, если Ваш сайт называется domain_name, то скрипты должны быть расположены в ~/domain_name/www/.

Если у Вас есть дополнительный сайт new-domain_name, то скрипты для него должны быть расположены в ~/new-domain_name/www/. Файлы должны иметь расширение .php или .phtml.

Где можно увидеть ошибки выполнения PHP-скриптов

Из соображений безопасности конфигурация PHP позволяет писать ошибки выполнения скриптов только в файл ошибок error_log, ведение которого Вы можете включить в Панели управления. Но Вы можете разрешить вывод ошибок на экран (в браузере), создав в каталоге, где лежат скрипты, файл .htaccess следующего содержания:

php_flag display_errors on

Как исполнять PHP-скрипт периодически в заданное время или запускать его в Unix shell'е

Используйте cron. Имя скрипта передается командному интерпретатору /usr/local/bin/phpXX в качестве параметра. Например, для запуска скрипта в начале каждого часа можно использовать следующую строку в конфигурации crontab:

1 * * * * /usr/local/bin/phpXX -q /path/to/script.php

где XX – одна из доступных версий PHP: 53, 54, 56, 70, 72.

Если Вам необходимо запускать PHP-скрипт из Unix-shell'а или из cron'а с каким-либо оптимизатором PHP, укажите нужный ini-файл с помощью ключа «-c». Например, если нужно запускать скрипт, использующий оптимизатор APC, его вызов будет таким:

/usr/local/bin/php54 -c /usr/local/php54/lib/php54_apc.ini -q /path/to/script.php

Обратите внимания, что поддержка того или иного оптимизатора зависит от версии PHP. Список поддерживаемых оптимизаторов приведен в описании соответствующей версии PHP.

Источник: https://www.zenon.net/support/hosting/prog-lang/

Ссылка на основную публикацию