mysqli connect php 7 не работает

Админу.Ру

Библиотека вебмастера по созданию и продвижению сайта

Ошибка 500 после перевода сайта на PHP 5.5 или PHP 7

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

Использование функций mysql_connect(), mysql_select_db(), mysql_query() и т.д.

В PHP 7 разработчики отказались от расширения mysql, все использования функций расширения приводят к фатальной ошибке (Call to undefined function).

mysqli connect php 7 не работает. Смотреть фото mysqli connect php 7 не работает. Смотреть картинку mysqli connect php 7 не работает. Картинка про mysqli connect php 7 не работает. Фото mysqli connect php 7 не работаетИспользование функций mysql_connect(), mysql_select_db(), mysql_query() и т.д.

Как заменить неработающие функции mysql_connect(), mysql_select_db(), mysql_query()? Ошибка «PHP Fatal Error: Call to undefined function»

Решения проблемы есть и даже не одно!

Есть достойная альтернатива mysql — расширение mysqli. Функции расширения соответствуют старым (большая часть):

1. Если у вас небольшой проект, вам будет несложно через поиск найти несколько строк в коде с функциями, начинающимися с «mysql_*» расширения mysql. Вручную отредактируйте код, заменив «mysql_*» на «mysqli_*».

2. Если у вас большой проект или вы очень активно пользовались функциями расширения mysql, вам будет непросто поменять все упоминания устаревших функций. В таком случае вам поможет следующее решение. Создайте PHP-файл, в котором определите функции с именами исключённых, которые будут ссылаться на соответствующие функции расширения mysqli.

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

Данный код сохраните в файл, назовите его, например, deletedmysql.php и сохраните в корне сайта (на одном уровне с index.php главной страницы сайта).

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

Совсем идеально будет добавить проверку на версию PHP, так как при переезде на другую площадку или понижении версии PHP до 5.x вы получите ошибку PHP: Fatal error: Cannot redeclare…

Маленький лайфхак для тех, кому понравился способ 2. Используйте это решение только в качестве временной заглушки. При удобном случае перепрограммируйте код на использование новых функций.

PHP Fatal error: Uncaught Error: Call to undefined function split()

В PHP 7 функция spit() — разбиение строки на массив по регулярному выражению, — была исключена. Альтернатива есть, функции preg_split(), str_split(), explode().

mysqli connect php 7 не работает. Смотреть фото mysqli connect php 7 не работает. Смотреть картинку mysqli connect php 7 не работает. Картинка про mysqli connect php 7 не работает. Фото mysqli connect php 7 не работаетPHP7 Fatal error: Uncaught Error: Call to undefined function split()

В приведённом примере разбить командную строку можно любой функцией. Лично я предпочитаю explode().

Источник

How can I enable the MySQLi extension in PHP 7?

I have installed PHP 7 and MySQL 5.5.47 on Ubuntu 14.04 (Trusty Tahr).

I have checked installed extension using:

I am not able to see the MySQLi extension using phpinfo() either. How can I enable/install MySQLi extension in PHP 7?

That’s why I cannot use phpMyAdmin. It says «The mysqli extension is missing.»

mysqli connect php 7 не работает. Смотреть фото mysqli connect php 7 не работает. Смотреть картинку mysqli connect php 7 не работает. Картинка про mysqli connect php 7 не работает. Фото mysqli connect php 7 не работает

8 Answers 8

The problem is that the package that used to connect PHP to MySQL is deprecated (php5-mysql). If you install the new package,

this will automatically update Apache and PHP 7.

mysqli connect php 7 не работает. Смотреть фото mysqli connect php 7 не работает. Смотреть картинку mysqli connect php 7 не работает. Картинка про mysqli connect php 7 не работает. Фото mysqli connect php 7 не работает

I got the solution. I am able to enable MySQLi extension in php.ini. I just uncommented this line in php.ini:

Now MySQLi is working well. Here is the php.ini file path in an Apache 2, PHP 7, and Ubuntu 14.04 environment:

By default, the MySQLi extension is disabled in PHP 7.

mysqli connect php 7 не работает. Смотреть фото mysqli connect php 7 не работает. Смотреть картинку mysqli connect php 7 не работает. Картинка про mysqli connect php 7 не работает. Фото mysqli connect php 7 не работает

mysqli connect php 7 не работает. Смотреть фото mysqli connect php 7 не работает. Смотреть картинку mysqli connect php 7 не работает. Картинка про mysqli connect php 7 не работает. Фото mysqli connect php 7 не работает

mysqli connect php 7 не работает. Смотреть фото mysqli connect php 7 не работает. Смотреть картинку mysqli connect php 7 не работает. Картинка про mysqli connect php 7 не работает. Фото mysqli connect php 7 не работает

mysqli connect php 7 не работает. Смотреть фото mysqli connect php 7 не работает. Смотреть картинку mysqli connect php 7 не работает. Картинка про mysqli connect php 7 не работает. Фото mysqli connect php 7 не работает

On Ubuntu, when mysqli is missing, execute the following,

Replace 7.x with your PHP version.

Note: This could be 7.0 and up, but for example Drupal recommends PHP 7.2 on grounds of security among others.

To check your PHP version, on the command-line type:

You do exactly the same if you are missing mbstring:

I recently had to do this for phpMyAdmin when upgrading PHP from 7.0 to 7.2 on Ubuntu 16.04 (Xenial Xerus).

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *