Ошибка CodeIgniter после изменения PHP с 5.6 на 7.0 на HostGator через SSH

Как следует из названия, я получаю эту ошибку прямо сейчас на своем CI после изменения PHP с 5.6 на 7.0. Он отлично работает, если я вернусь к 5.6, но мне нужно, чтобы мой сервер был на 7.0.

Произошла ошибка PHP

Уровень серьезности: основное предупреждение

Сообщение: Запуск PHP: SourceGuardian: Невозможно инициализировать модуль Модуль, скомпилированный с модулем API = 20121212 PHP, скомпилированный с модулем API = 20151012 Эти параметры должны соответствовать

Имя файла: Неизвестно

Номер строки: 0

Обратная трассировка:

Стоит ли изучать 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
0
608
2

Ответы 2

Из моего сообщения в блоге 2013 года: https://delboy1978uk.wordpress.com/2013/10/30/manually-compiling-php-modules-successfully/

Знакомо?

PHP Warning:  PHP Startup: memcached: Unable to initialize module
Module compiled with module API=20090626
PHP    compiled with module API=20100525
These options need to match

Не знаю, как вы, но мне нравится быть в курсе! У меня PHP 5.5, и мне пришлось установить несколько модулей. Но иногда старые версии могут вскинуть свою уродливую голову и вызвать всевозможные горести. Менеджеры пакетов делают все возможное, чтобы позаботиться обо всем этом за вас, но иногда они просто не работают. Оставляем вам компилировать себя! Итак, давай сделаем это! Я собираюсь установить memcached, а затем библиотеки imagick (теперь я знаю, что делаю!)

Я делаю это на сервере CentOS 6, но поскольку мы используем старый способ компиляции skool и т. д., Это должно работать на любом другом варианте Linux или Mac OS X.

Первый шаг - загрузить ваш .tar.gz, затем разархивировать его с помощью tar -zxvf file.tar.gz и перейти в папку.

Откройте веб-страницу, отображающую ваши серверы php.ini. Вам нужна версия PHP API, а extension_dir.

В вашем терминале перейдите в папку с исходным кодом модуля и введите phpize.

Если при проверке версий API они отличаются от вашего php.ini, значит, в терминале используется старая версия php, и ваш модуль работать не будет! В этом случае вам нужно, чтобы он использовал правильный файл phpize.

введите which phpize, чтобы узнать, где находится файл, вызывающий нарушение. (мой был / usr / bin / phpize)

Мой PHP оказался в / usr / local, поэтому я попытался запустить /usr/local/phpize. Соответствие API. Итак, я сделал следующее:

mv /usr/bin/phpize /usr/bin/phpize-old
ln -s /usr/local/bin/phpize /usr/bin/phpize

Почти на месте! Нам нужно сделать то же самое для php-config

 mv /usr/bin/php-config /usr/bin/php-config-old
 ln -s /usr/local/bin/php-config /usr/bin/php-config

Теперь, когда вы это сделали, установка должна быть тривиальной и работать в соответствии с множеством страниц с инструкциями / инструкциями в Интернете.

./configure
 make
 make install

Наконец, отредактируйте свой php.ini и добавьте «extension = memcached.so» (или любой другой модуль, который вы скомпилировали) и перезапустите сервер apache!

EDIT : you may need to run ‘phpize –clean’ if it is still compiling with the older stuff from within the modules source folder

У вас есть идеи, как мне получить доступ к этим путям? Согласно моему хостинг-провайдеру, он находится в / usr / local / bin / php (ИСТОЧНИК) Но я могу получить доступ только к чему-либо по пути / home вместо / usr из-за отказа в доступе. Попробую связаться по этому поводу с хост-провайдером.

Zakky 25.05.2018 14:28

Загрузите последний модуль SourceGuardian, который поддерживает PHP 7.X: https://www.sourceguardian.com/loaders/download.php

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