Устарело: сообщение mysql_connect() и предупреждения появляются на шаге 3 настройки конфигурации opencart после того, как мы вводим данные и нажимаем «Продолжить».

Нам нужна помощь, чтобы правильно загрузить наш шаблон opencart templatemonster.com на godaddy, но мы не знаем, как это сделать.

К вашему сведению наша папка public_html/system/database также содержит файл mysqli.php.

  1. Мы позаботились о том, чтобы загрузить шаблон через полный пакет (название файла — themeXXX(full).zip, где XXX — номер вашей темы) в папку public_html.
  2. Распаковал zip-файлы в папку public_html.
  3. Выполнил установку с помощью менеджера установки.
  4. На шаге 3 конфигурации нам было предложено ввести данные доступа к нашей базе данных, и мы убедились, что база данных пуста. (GoDaddy сказал нам использовать локальный хост)

После нажатия кнопки "Продолжить":

Сообщение deprecated: mysql_connect() и предупреждения появляются на шаге 3 настройки конфигурации opencart после того, как мы вводим данные и нажимаем «Продолжить».

Где «магазин» — это новое имя каталога. Где «пользователь» — адрес вашей учетной записи на сервере. Где «yourdomainname.co.uk» — это веб-домен вашего нового веб-сайта:

(ДЕМОНСТРАЦИОННАЯ ССЫЛКА ДЛЯ ДЕМОНСТРАЦИИ) http://www.yourdomainname.co.uk/install/index.php?route=step_3

Устарело: mysql_connect(): расширение mysql устарело и будет удалено в будущем: вместо этого используйте mysqli или PDO в /home/user /public_html/system/database/mysql.php< /strong> в строке 6

Строки 5–16:

public function __construct($hostname, $username, $password, $database) {
    if (!$this->link = mysql_connect($hostname, $username, $password)) {
        trigger_error('Error: Could not make a database link using ' . $username . '@' . $hostname);
    }

    if (!mysql_select_db($database, $this->link)) {
        trigger_error('Error: Could not connect to database ' . $database);
    }

Ошибки:

Предупреждение: нельзя изменить информацию заголовка — заголовки уже отправлены (вывод начался с /home/user/public_html/system/database/mysql.php:6) в /home/user/public_html/system/engine/controller.php строке 28

Предупреждение: нельзя изменить информацию заголовка — заголовки уже отправлены (вывод начался с /home/user/public_html/system/database/mysql.php:6) в /home/user/public_html/system/engine/controller.php строке 29

Строки 27–31

protected function redirect($url, $status = 302) {
    header('Status: ' . $status);
    header('Location: ' . str_replace(array('&amp;', "\n", "\r"), array('&', '', ''), $url));
    exit();             
}

Функции шаблона

  • Совместимость с OpenCart: 1.5.6.x
  • Движок OpenCart: 1.5.6.4

    (обрезанный)

Доступные источники

PSD PNG PHP TPL JS

Требования к хостингу

  • Веб-сервер (желательно Apache)
  • PHP (не ниже 5.2)
  • MySQL
  • Завиток
  • Фсок

Справка OpenCart Templates Центр

Необходимо программное обеспечение

  • Адоб Фотошоп КС+
  • Для распаковки ZIP-архива шаблона: WinZip 9+ (Windows); Stuffit Expander 10+ (Mac)
  • Сервер Apache
  • PHP версии 5 или выше
  • MySQL 4.1.14 или новее
  • Опенкарт 1.5.6.4
  • Sublime Text2 или новее, Notepad++ или любой php-редактор

Комментатор заявил

mysql_ calls будет работать на этом сервере, но вызывает уведомления об устаревании. Быстрым решением будет отключить предупреждения в вашем файле php.ini, в вашем значении error_reporting. Или можно попробовать отключить отображение ошибок, установить display_errors to 0.

Мне нравится комментарий, но может ли кто-нибудь предоставить более полное объяснение или визуальный ресурс для этого предложения? Например, сформулировать немного дальше, как действовать? Должен ли я загружать файл через общедоступный FTP GoDaddy или использовать FTP-клиент FileZilla (это имеет значение), сделать копию, внести необходимые изменения, а затем повторно загрузить?

Мне нравится возможное решение, но мне любопытно узнать, единственные ли они.

ОБНОВЛЕНИЕ

  • Я только что изменил display_errors = 1; отображать_ошибки = 0;
  • сохранил файл (я редактировал файл в текстовом редакторе GoDaddy)
  • повторно введите данные доступа к нашей базе данных
  • нажмите «Продолжить настройку шага 3» и получите ту же ошибку.

php.ini

magic_quotes_gpc = Off;
register_globals = Off;
default_charset = UTF-8;
memory_limit = 64M;
max_execution_time = 36000;
upload_max_filesize = 999M;
safe_mode = Off;
mysql.connect_timeout = 20;
session.use_only_cookies = On;
session.use_trans_sid = Off;
session.cookie_httponly = On;
session.gc_maxlifetime = 172800;
allow_url_fopen = on;
;display_errors = 0;
;error_reporting = E_ALL;

???


person Robert    schedule 12.08.2016    source источник
comment
Нет, но спасибо, сэр, и вопрос отредактирован.   -  person Robert    schedule 14.08.2016
comment
Ваши вызовы mysql_ будут работать на этом сервере, но вызывают уведомления об устаревании. Быстрым решением будет отключить предупреждения в вашем файле php.ini в вашем значении error_reporting. Или вы можете попробовать отключить отображение ошибок, установив display_errors на 0.   -  person halfer    schedule 14.08.2016
comment
Я был бы удивлен, если бы OpenCart не поддерживал PDO - у вас загружены расширения PDO и pdo_mysql? Если вы можете заставить OpenCart использовать вместо этого PDO, уведомления об устаревании должны прекратиться.   -  person halfer    schedule 14.08.2016
comment
Что ж, я предложил два возможных решения — пожалуйста, попробуйте их! (Вопросы, которые отложены, по-прежнему являются общедоступными, но они могут не появляться на первой странице до тех пор, пока вопрос, за который проголосовали, если я правильно помню).   -  person halfer    schedule 14.08.2016
comment
Что и как вы загружаете расширения PDO и pdo_mysql.   -  person Robert    schedule 14.08.2016
comment
(На действующем сервере вы все равно не хотите, чтобы отображались ошибки, так как это представляет угрозу безопасности. Поэтому сброс display_errors не имеет недостатков — если вам нужно выполнить работу по разработке на сайте, вы должны использовать копию).   -  person halfer    schedule 14.08.2016
comment
Чтобы включить эти расширения, попробуйте этот поиск — всегда выполняйте поиск !   -  person halfer    schedule 14.08.2016
comment
Давайте продолжим обсуждение в чате.   -  person Robert    schedule 14.08.2016
comment
У вас есть доступ к вашему php.ini файлу в этом хостинг-плане? Если это так, откройте его и найдите свою запись display_errors. Сбросьте его на 0 и при необходимости перезапустите Apache (если вы не знаете, как перезапустить Apache, в этом плане это может не понадобиться).   -  person halfer    schedule 14.08.2016
comment
@halfer Я только что изменил display_errors = 1; отображать_ошибки = 0; › сохранил файл (я отредактировал файл в текстовом редакторе GoDaddy) › повторно ввел данные для доступа к нашей базе данных › нажмите «Продолжить» на шаге 3 настройки и получил ту же ошибку.   -  person Robert    schedule 14.08.2016
comment
Попробуйте создать временный файл PHP в вашей файловой системе следующим образом: <?php echo ini_get('display_errors'); ?>. Просмотрите его в своем браузере — если настройка ini сработала, он ничего не должен показывать.   -  person halfer    schedule 14.08.2016
comment
Ага! Спасибо за публикацию вашего php.ini файла. Ваш ;display_errors = 0; закомментирован - удалите префикс с запятой.   -  person halfer    schedule 14.08.2016


Ответы (1)


У меня есть подобный опыт! Вам не нужно включать эти расширения, версия PHP должна быть обновлена:

  1. Войти в GoDaddy

  2. Перейдите в раздел «Мои продукты» под своим именем для входа в правом верхнем углу.

  3. Перейдите на веб-хостинг и нажмите кнопку «Управление».
  4. Нажмите «Управление» еще раз.
  5. Прокрутите до заголовка «Программное обеспечение» и нажмите «Выбрать версию PHP».
  6. Затем перейдите на более раннюю версию, в которой это расширение не устарело.

Дайте мне знать, как это работает для вас.

person George Lewis Jr    schedule 14.08.2016
comment
Идеально, поэтому все, что мне нужно было сделать, это изменить версию php. Ух ты! - person Robert; 14.08.2016
comment
А, @RobertDove - это работает, потому что вы использовали старую версию PHP, в которой расширение MySQL не устарело. Это не долгосрочное исправление — вы должны быть в курсе последних поддерживаемых версий PHP. - person halfer; 14.08.2016
comment
@halfer, как мне обновить мой шаблон opencart, чтобы он был совместим с последними поддерживаемыми версиями PHP, он был на 5.6, и я изменил его на 5.4. Я знаю, что это не долгосрочное решение, но я не знаю, как это исправить навсегда? С чего бы мне начать? - person Robert; 14.08.2016
comment
Смотрите мои предыдущие ответы, @RobertDove. Несколько лучше быть на 5.6 и отключить уведомления об устаревании на экране. Еще лучше переключиться на PDO/MySQL (или MySQLi). Последнее зависит от того, поддерживает ли ваша система PDO или MySQLi; OpenCart, конечно, может, но вам нужно проверить, соответствует ли шаблон. Посмотрите код или спросите у автора. - person halfer; 14.08.2016
comment
Возможно, вам стоит нанять для этого специалиста службы поддержки — безопасное управление интернет-магазином требует определенных технических знаний, если только вы не можете передать его универсальному хосту, такому как Shopify. Может быть один доступный для OpenCart, и если этот сайт приносит больше, чем остаточный доход, возможно, стоит защитить его, заключив правильные контракты на поддержку. - person halfer; 14.08.2016