Версия PHP в HostGator

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

Это ошибка:

PHP Startup: SourceGuardian: Unable to initialize module
Module compiled with module API=20131226
PHP compiled with module API=20100525
These options need to match

Я меняю в cPanel версию PHP 5.4 на 5.6, но когда я проверяю версию PHP на сервере, подключенную к putty, я получаю следующее сообщение:

PHP 5.4.45 (cli) (built: Apr 17 2017 15:59:08)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies
    with the ionCube PHP Loader (enabled) + Intrusion Protection from ioncube24.com (unconfigured) v10.2.4, Copyright (c) 2002-2018, by ionCube Ltd.
    with Zend Guard Loader v3.3, Copyright (c) 1998-2013, by Zend Technologies

Может в этом проблема? Я читал об этой ошибке, но не могу найти решения. Не знаю, делаю ли я что-то не так.

Просто обратите внимание, что вы должны использовать PHP 7.2, так как другие версии станут устаревшими - http://php.net/supported-versions.php

debute 02.10.2018 22:30

Спасибо за совет

Carlos Deseda 02.10.2018 23:44
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
2
2 692
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

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

<?php
    phpinfo();
?>

Версия все еще находится в версии PHP 5.4.45, но я меняю ее в cpanel на 5.6. Может надо шпаклевкой делать?

Carlos Deseda 02.10.2018 22:42
Ответ принят как подходящий

cPanel предоставляет 2 различных метода установки версии php. Один называется «Выбрать версию PHP», который устанавливает глобальную версию php, которая будет использоваться по умолчанию для новых доменов, заданий cron и т. д., Другой - «MultiPHP Manager», который позволяет вам устанавливать разные версии php для использования с разными доменами под тот же аккаунт cPanel. Вам необходимо убедиться, что «MultiPHP Manager» также указывает правильную версию php для вашего домена (он может переопределить настройку «Выбрать версию PHP»).

Я могу решить проблему, добавив версию PHP в .htacess в папке моего проекта к той же версии "select PHP version" cPanel. Всем спасибо за помощь и советы!

Carlos Deseda 03.10.2018 20:16

Просто измените файл HTACCESS:

Прежде всего, Hostgator прекратит поддержку версий старше 7.2 к октябрю 2020 года.

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

Используйте следующий код в файле htaccess (строки с # в начале закомментированы):

  # Use PHP 5.4 (will no longer be available in Oct 2020)
#AddHandler application/x-httpd-php54 .php
#<IfModule mod_suphp.c>
#    suPHP_ConfigPath /opt/php54/lib
#</IfModule>

  # Use PHP 5.6 (will no longer be available in Oct 2020)
#AddHandler application/x-httpd-php56 .php
#<IfModule mod_suphp.c>
#    suPHP_ConfigPath /opt/php56/lib
#</IfModule>

  # Use PHP 7.1 (will no longer be available in Oct 2020)
#AddHandler application/x-httpd-php71 .php
#<IfModule mod_suphp.c>
#    suPHP_ConfigPath /opt/php71/lib
#</IfModule>

  # Use PHP 7.2
#<IfModule mime_module>
#  AddHandler application/x-httpd-ea-php72 .php .php7 .phtml
#</IfModule>

  # Use PHP 7.3
#<IfModule mime_module>
#  AddHandler application/x-httpd-ea-php73 .php .php7 .phtml
#</IfModule>

  # Use PHP 7.4 (automatically asigned to new domains since ~Sept 2020)
<IfModule mime_module>
  AddHandler application/x-httpd-ea-php74 .php .php7 .phtml
</IfModule>

Спасибо @anayarojo за совет по версии 7.2 (в апреле 2020 г.).

Я не знаю, поддерживает ли hostgator 7.2, потому что в Cpanel вы можете выбрать только 5.4, 7 и 7.1. У меня есть два проекта в hostgator, но только с 7.1. Мой .htacess выглядит примерно так: AddHandler application / x-httpd-php71 .php. (То же, что и вы). Если вы используете композитор в своем проекте, я знаю, что вы можете принудительно обновить его и попытаться проверить, нормально ли это работает. Извините за короткую помощь, удачи

Carlos Deseda 28.01.2020 17:35

Попробуйте с AddHandler application/x-httpd-ea-php72 .php .php7 .phtml

anayarojo 15.04.2020 07:25

Просто добавьте эти строки в свой .htaccess, чтобы новые версии php работали:

Для PHP 7.2:

AddHandler application/x-httpd-ea-php72 .php .php7 .phtml 

Для PHP 7.3:

AddHandler application/x-httpd-ea-php73 .php .php7 .phtml 

Другие вопросы по теме