PHP 7 на modhost.pro

У нас просто отличные новости!



С этого момента вы можете выбирать, на какой версии PHP ваш сайт будет работать: 5.6 или 7.0.

Новый PHP отличается значительно более высокой скоростью работы и уменьшенным потреблением памяти. Просто от переключения версии в панели управления хостингом ваш сайт станет работать быстрее до 2-3 раз!

Вот наш тест на сайте с PHP 5.6:
0.0002081: Created inline chunk with name "d9ad1bcdc5a530ed83598e35a1357e51"
0.0881791: Total time
3 407 872: Memory usage
А вот на сайте с PHP 7.0:
0.0001070: Created inline chunk with name "d9ad1bcdc5a530ed83598e35a1357e51"
0.0328310: Total time
2 097 152: Memory usage
Как видите, разница поразительная.

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

Если вы используете MODX, то вам нужно обновить его версию до 2.5 — в ней исправлены все возможные несовместимости в админке.

modx.pro уже несколько дней работает на новой версии PHP и никаких проблем не выявлено. Заходите на modhost.pro и проверяйте, как ваш сайт работает на последней версии PHP!

Обновлено 25.04.2016


Посыпались сайты, которые используют в своих скриптах давно устаревшие функции mysql_ вместо mysqli_, а в репозитории это расширение отсутствует.

Собрал отдельно и добавил mysql_ функции и для 5.6, и для 7.0.
Василий Наумкин
24 апреля 2016, 11:06
3 626
+15

Комментарии: 44

Сергей Шлоков
24 апреля 2016, 14:35
+1
Круто!
Я правильно понимаю, что modx.pro работает на MODX 2.5?
MODX 2.5 оказывается уже стабильная версия. Проспал выпуск. Значится будет переходить и переводить. :)
    Сергей Шлоков
    24 апреля 2016, 15:00
    +2
    Перевёлся — MODX 2.5, PHP 7.0.5. Шикарно.
      Пётр Молчанов
      27 апреля 2016, 11:54
      0
      кстати, у меня после обновы появилась проблема с отправкой почты, видимо, что-то поменяли в PHPMailer'е.
      В логе писало:
      /core/cache/includes/elements/modsnippet/212.include.cache.php : 250) An error occurred while trying to send the email: Не отослано, неправильный формат email адреса: название сайта
      а именно ругался на эту строчку:
      $modx->mail->set(modMail::MAIL_SENDER,$modx->getOption('site_name'));
      поменял её на:
      $modx->mail->set(modMail::MAIL_SENDER,$modx->getOption('emailsender'));
      хотя во всех примера указан именно site_name
        Василий Наумкин
        27 апреля 2016, 12:31
        0
        Скорее, это во всех примерах ошибка.

        Вот код из отправки почты юзеру — там emailsender.
          Пётр Молчанов
          27 апреля 2016, 13:21
          0
          Ну в коде-то они могли исправить когда угодно) факт в том, что с этим обновлением перестал работать предыдущий код
            Василий Наумкин
            27 апреля 2016, 13:30
            0
            Конкретно этот код не меняли с 2010 года.

            Факт в том, что твой код был неверный, и раньше он работал по ошибке. Теперь, видимо, эту ошибку исправили. Отправитель должен быть email, а не текст.
Дмитрий Иванов
24 апреля 2016, 14:42
0
Просто от переключения версии в панели управления хостингом ваш станет работать быстрее до 2-3 раз!
тут ошибка закралась.
А 7 версия очень хороша :)
Andrei D.
24 апреля 2016, 16:39
0
Тоже обновился, проблем не замечено! Душа поёт)
Vitaliy Soloniy
24 апреля 2016, 17:54
+2
А как теперь правильно обновить php до 7 версии, тем кто работал по этой инструкции: «Правильный хостинг для MODX Revolution 2».
Спасибо
    Иван Климчук
    24 апреля 2016, 21:18
    0
    PHP 7 в официальных репозиториях только в последней Ubuntu 16.04 LTS появился, так что просто так поставить не получится. Но можно использовать launchpad и поставить отсюда launchpad.net/~ondrej/+archive/ubuntu/php
    Как ставить и настраивать придется разбираться, туториалов на деле хватает. Если не хватает знаний и есть важные сайты, лучше обратиться за помощью к знающим людям.
    Роман Садоян
    24 апреля 2016, 21:55
    +2
    По факту просто придется поставить php7, удалив php5 и сменить в nginx конфигах сайтов сокет с php5-fpm на php7.
    Собственно вот статья
      Alexander V
      24 апреля 2016, 23:03
      0
      php5 вроде можно оставить.
      Это сообщение было удалено
        Это сообщение было удалено
          Это сообщение было удалено
            Это сообщение было удалено
              Это сообщение было удалено
                Это сообщение было удалено
                  Это сообщение было удалено
                    Это сообщение было удалено
                      Василий Наумкин
                      04 мая 2016, 10:49
                      +1
                      Ребята, хватит здесь оффтопить.

                      Если хочется — пишите отдельную заметку про обновления PHP5 до 7, а в моём анонсе это обсуждать не нужно.
    Сергей
    24 апреля 2016, 23:15
    +1
    Главная страница нагруженного сайта стала грузиться быстрее более чем в два раза. Очень круто)
    Денис Богдановский
    25 апреля 2016, 11:08
    +3
    Новость действительно отличная и для меня неожиданная, обновил несколько сайтов до 2.5, переключился на 7-ку, всё в несколько кликов, прифигел, а потом и даже тестировать не стал, изменения в скорости «на глаз» заметны. Я понимаю, кому то формулировка «на глаз» и пр… «глаза резать» может, но что-то меня modhost.pro так расслабил, что теперь ко всему проще отношусь и за попугаями не гоняюсь. На modhost всё, как всегда — быстро, прогрессивно, удобно!
    ViES
    26 апреля 2016, 15:00
    0
    При установке modx анализирует конфиги системы, базу и прочее. При переходе на php7, надо прогонять через установщик повторно?
    Сергей Шлоков
    28 апреля 2016, 18:38
    -1
    У меня на всех сайтах отвалились карты сайта. Видимо проблемы с типом документа XML. Тут кстати тоже.
      Василий Наумкин
      28 апреля 2016, 18:59
      0
      Ничего подобного, нужно просто подождать, пока браузер загрузит весь документ и покажет его в удобочитаемом виде. То есть, распарсит и нарисует заново.

      Так всегда было на больших картах. А вообще, XML ничем, кроме структуры, не отличается от обычного текста, если смотреть в исходник страницы.
        Сергей Шлоков
        28 апреля 2016, 19:13
        0
        А у меня modx.pro/sitemap.xml выглядит так

        Проверил на всех браузерах — такая беда только в firefox. Значит проблема оказалась не проблема.
          Василий Наумкин
          28 апреля 2016, 19:15
          0
          Может он не в силах прожевать такой объём, или это у него сломался парсер XML.
    Федор
    29 апреля 2016, 02:26
    0
    у меня на modhost pro скорость загрузки в среднем с 0,1308 снизилась до 0,0603 а вот оперативка жрет в 2 раза больше, при том, что вот 2 часа ночи на сайте никого нет, пару редакторов всего. было 100 мб максимум, обычно 70мб, теперь 214, после обновы и так в течении часа. Это нормально? максимальный тариф. 512 мб максимум оперативки. процессор кстати почти всегда на нуле, очень редко бывают скачки типа до 12%, кстати не понимаю с чем связанно, но это было до обновления на php7, буду следить дальше. По факту на глаз, все вроде очень быстро работает. Меня пугает только одно, сайт в офлайне, на нем редакторов 20 в течении дня активно работают/учатся и тд. А что будет, когда сайт включим? ожидается от 10 000к уников в сутки. В паблике в ВК больше 35 к в сутки, но теперь все ссылки будут идти на сайт, поэтому по идеи они будут переходить на него. Что будет с оперативой под нагрузкой?
      Василий Наумкин
      29 апреля 2016, 03:09
      +2
      Это нормально. На максимальном тарифе одновременно работает минимум 6 процессов PHP, которые ждут посетителей и поэтому занимают сколько-то памяти. Если они сейчас кушают 214 Мб — выходит по 36 Мб на каждый.

      А тариф позволяет запускать 10 процессов при нагрузке. И 512 Мб — это не общее ограничение, а максимальное. То есть, сколько может выбрать один процесс одномоментно. Если ему не хватит памяти, например на разбор огромного XML, то именно эта операция завершится с ошибкой, а всё остальное будет работать.

      В общем, всё будет хорошо, не нужно переживать.

      P.S. Вот графики с modx.pro: до и после перехода на PHP 7. Общее потребление памяти заметно снизилось:
        Федор
        29 апреля 2016, 03:15
        0
        Круто, спасибо за быстрый ответ! Сейчас на сайте точно никого, 120 мб жрет стабильно за последний час. Ну раз он ее резервирует так, то ладно. Все таки было меньше, раза в 2, зато все остальное летает. КРоме ajax загрузки новостей при прокрутке вниз, раньше я не успевал футер увидеть, теперь иногда подвисает в хроме на секунду, потом загружается… я видел, что вы переделали вызов, но смелость и сил перековырять весь сайт не набрался, как только я вызываю, как по мануалу весь сайт крашится. В общем, единственное, что заметил после обновы. Еще раз большое спасибо за кучу полезной информации!
          Василий Наумкин
          29 апреля 2016, 03:17
          0
          Все таки было меньше, раза в 2, зато все остальное летает.
          Ну ты графики отмотай на «раньше» и посмотри. А то мало ли, как оно кажется.
            Федор
            29 апреля 2016, 03:28
            0
            ну вот график при начале активной работы админов, и он всегда такой в течении нескольких дней до сегодня, где-то после часа обновил, и сразу скачок затяжной, смутило, что сейчас ночь и все спят :)
              Василий Наумкин
              29 апреля 2016, 03:32
              +1
              Видимо запустились новые процессы, потом завершились. Ничего критичного не видно.

              В общем, как будут проблемы — пиши в поддержку, но я уверен, что их не будет =)
                Федор
                29 апреля 2016, 03:33
                0
                хорошо, спасибо:)
    Clean
    21 мая 2016, 13:11
    0
    А что на счет кэширования? APC версии которая была после обновления отвалилась, сейчас смотрю что с этим делать. Василий ты как вышел из ситуации?
      Clean
      21 мая 2016, 14:58
      0
      xPDOAPCCache[scripts]: Error creating APC cache provider; xPDOAPCCache requires the APC extension for PHP, version 2.0.0 or later.
      Василий Наумкин
      21 мая 2016, 18:38
      0
      А я ничем таким не пользуюсь.

      Но с PHP 5.5 в комплекте идёт opcache.
        Clean
        21 мая 2016, 19:43
        0
        т.е все проекты, в т.ч средней нагруженности по 3-4 тысячи посетителей в день, вроде modx.pro нормально живут на php по умолчанию с дефолтным modx кэшем xPDOFileCache?
          Clean
          21 мая 2016, 23:17
          0
          на самом деле разобрался — в целом с php 7 из коробки все довольно хорошо летает.
          единственное что пока не понял — это обнаружил ошибку в логах связанную с mysql
          [pdoTools] Error 42000: Expression #68 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'pozhara.360x270.url' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
          но это скорее проблема mysql чем php )
            Clean
            22 мая 2016, 01:46
            0
            проблема была т.к после обновления на mysql по дефолту выставился sql_mode который плохо дружит с дефолтными группировками в запросах pdoTools и других.
            фикс тут
            www.anujgakhar.com/2015/12/23/mysql-error-caused-by-sql_modeonly_full_group_by/
            нужно просто в настройке mysql задать правильный sql_mode
            у меня он такой:
            mysql> select @@sql_mode;
            +------------------------------------------------------------------------------------------------------------------------+
            | @@sql_mode                                                                                                             |
            +------------------------------------------------------------------------------------------------------------------------+
            | STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION |
            +------------------------------------------------------------------------------------------------------------------------+
            1 row in set (0.00 sec)
          Василий Наумкин
          22 мая 2016, 06:35
          0
          Да.
            TITAN-UZ
            16 июля 2016, 00:01
            0
            На modx.pro какой кэшер включен?