Содержание
- Ошибка 500 при выполнении Mysqli Queries
- Решение
- Админу.Ру
- Библиотека вебмастера по созданию и продвижению сайта
- Ошибка 500 после перевода сайта на PHP 5.5 или PHP 7
- Использование функций mysql_connect(), mysql_select_db(), mysql_query() и т.д.
- Как заменить неработающие функции mysql_connect(), mysql_select_db(), mysql_query()? Ошибка «PHP Fatal Error: Call to undefined function»
- PHP Fatal error: Uncaught Error: Call to undefined function split()
- Mysqli_connect create error 500
- Popular Topics
- Questions
- Welcome to the developer cloud
- Почему происходит ошибка 500 Internal Server Error? Как исправить?
- Vesta Control Panel — Forum
- phpmyadmin blank page Error 500 Ошибка 500 пустая страница
Ошибка 500 при выполнении Mysqli Queries
Я работал над крошечной выборкой формы и вставкой в систему базы данных MySQL с помощью PHP. Раньше я работал с этим типом кода на локальном сервере WAMP, и теперь я пытаюсь сделать это по-настоящему на этот раз на своем хостинге, но я продолжаю получать ошибку 500 Error Internal Server со следующим кодом.
Я почти уверен, что кое-что из этого должно работать, но по какой-то причине я могу выполнять запросы только в самом PHPmyadmin. Хост, который у меня есть, использует Cpanel webadmin для веб-сервера.
Решение
Я передумал и решил опубликовать ответ в конце концов.
Вы назначаете if($connection = false) с одним знаком равенства, а не с двумя if($connection == false) ,
Или обратитесь к руководству по mysqli_connect() для больше вариантов:
Вы используете неправильные идентификаторы идентификаторов для столбцов в вашем запросе. Это должны быть галочки, а не обычные кавычки.
Sidenote о клещах: Вы даже не нуждаетесь в них, так как вы не используете какой-либо из Зарезервированные слова MySQL , они также не содержат пробелов, дефисов или любых других символов, на которые MySQL будет жаловаться, поэтому вы можете безопасно удалить их для имен столбцов.
Затем вы использовали неверный тип скобок для ваших массивов POST. Ты использовал (. ) а не квадратные [. ] ,
Вы также не передали соединение вашему запросу, который должен быть первым параметром.
Перепишите с проверкой ошибок по запросу:
добавлять Отчет об ошибках в начало вашего файла (ов), который поможет найти ошибки.
Примечание: Отображать ошибки следует только в постановке, а не в производстве.
а также or die(mysqli_error($con)) в mysqli_query() для отладки.
Также убедитесь, что у вас есть правильные типы, выбранные для ваших столбцов, и что их длина достаточно велика для размещения данных.
Кроме того, убедитесь, что ваш User_ID Столбец принимает значения NULL и не является AUTO_INCREMENT. В противном случае использование NULL не удастся.
Вам нужно изменить ваш запрос на VALUES (», ‘$Email’, .
Ошибка 500 является ошибкой сервера и может быть просмотрена в ваших журналах. Либо проверьте их, либо используйте отчеты об ошибках, как указано выше, для просмотра на экране.
Источник
Админу.Ру
Библиотека вебмастера по созданию и продвижению сайта
Ошибка 500 после перевода сайта на PHP 5.5 или PHP 7
Проблема, с которой сталкиваются многие программисты после перевода площадки на современную версию PHP, — вероятная полная или частичная потеря работоспособности программного обеспечения на одном или нескольких сайтах площадки. Не предавайтесь панике, всё решаемо!
Использование функций mysql_connect(), mysql_select_db(), mysql_query() и т.д.
В PHP 7 разработчики отказались от расширения mysql, все использования функций расширения приводят к фатальной ошибке (Call to undefined function).
Использование функций 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().
PHP7 Fatal error: Uncaught Error: Call to undefined function split()
В приведённом примере разбить командную строку можно любой функцией. Лично я предпочитаю explode().
Источник
Mysqli_connect create error 500
Hey! I get HTTP error 500 everytime I try to use mysqli_connect in my php file.
This is my code and link to the file I am having trouble with: http://138.68.86.134/getInfo.php
I’ve followed every step for Debain LAMP tutorial here on DigitalOcean still this doesn’t work. I am very frustrated and I would highly appreciate any answer! Much love Add a comment
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!
These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.
Try this quick solution and if it works I will explain it to you.
Replace 138.68.86.134 with 127.0.0.1 and try again.
Before we get to troubleshooting, I would highly recommend and encourage you to use a created user instead of root . Should someone find a way in to your application, root access grants them the ability to remove everything (including other databases). You should never run as root :-).
That said, you’re missing a ; at the end of the function call for mysqli_connect() .
Popular Topics
Questions
Sign up for Infrastructure as a Newsletter.
Working on improving health and education, reducing inequality, and spurring economic growth? We’d like to help.
You get paid; we donate to tech nonprofits.
Welcome to the developer cloud
DigitalOcean makes it simple to launch in the cloud and scale up as you grow – whether you’re running one virtual machine or ten thousand.
Источник
Почему происходит ошибка 500 Internal Server Error? Как исправить?
Когда кликаю по кнопке экспорт то скрипт думает и выдает ошибку 500 Internal Server Error
Помогите пожалуйста что я не так делаю?!
P.S.: Если ставлю на экспорт только 10-50 записей то все ок, сохраняет файл xls
Update:
убрал я значит код:
ошибка пропала и все экспортировалось, теперь вопрос как мне получить тогда имена с таблицы type при экспорте??
- Вопрос задан более трёх лет назад
- 1923 просмотра
Оценить 7 комментариев
Помогите пожалуйста что я не так делаю?!
действительно как убрал этот кусок кода:
type_ed = explode(«,», $n[‘threat_type’]);
$type_edit = »;
foreach ($type_ed as $type_edd)
<
$ttt = $db->query(«SELECT * FROM `type` WHERE `id`=’».$type_edd.»‘»)->fetch_assoc();
$name_type = $ttt[‘type’];
$type_edit.= «$name_type,»;
>
ошибка пропала и все экспортировалось, теперь вопрос как мне получить тогда имена с таблицы type при экспорте??
threat_type сидит вот такой список 1,2,3,4,5 и т.д. где в таблице type я выбираю их названия
Включение вывода всех ошибок и предупреждений в файле php.ini
error_reporting = E_ALL
display_errors = On
display_startup_errors = On
Включение вывода всех ошибок и предупреждений в файле .htaccess
php_value display_errors 1
php_value display_startup_errors 1
php_value error_reporting E_ALL
Источник
Vesta Control Panel — Forum
phpmyadmin blank page Error 500 Ошибка 500 пустая страница
phpmyadmin blank page Error 500 Ошибка 500 пустая страница
Post by qwerty » Sun Sep 13, 2015 9:55 pm
Ура, наконец то! PROBLEM RESOLVED
просто надо было в файле /etc/php5/apache2/php.ini
memory_limit = 128M
заменить на более большую цифру
например: memory_limit = 512M
как починить phpmyadmin или как импортировать базы данных в формате sql в обход панели vestacp через консольные команды
после распаковки бекапа перестал открываться phpmyadmin
версия phpmyadmin на старом хостинге:
Информация о версии: 3.4.11.1deb2+deb7u1
версию на новом хосте не могу сказать, ибо не знаю где смотреть
имею debian 7 установленой на virtualbox подключенную к интернету через сетевой мост.
вручную положил файл admin.2015-09-07.tar в /home/backup
набрал команду
v-restore-user admin admin.2015-09-07.tar
установилось не сразу
исправил пару ошибок возникающих из за apache2 и паролем от mysql
в итоге все все установилось.
root@debian:# v-restore-user admin admin.2015-09-07.tar
— WEB —
2015-09-14 00:09:23 default.domain
— DNS —
2015-09-14 00:09:42 default.domain
— MAIL —
2015-09-14 00:09:42 default.domain
— DB —
2015-09-14 00:09:42 admin_******
2015-09-14 00:09:42 admin_******
2015-09-14 00:09:42 admin_******
— CRON —
2015-09-14 00:09:43 7 records
— USER DIR —
2015-09-14 00:09:43 tmp
теперь настала пора переносить базы данных не созданных ранее через vestacp. пытаюсь зайти в phpmyadmin
но при переходе по локальному ip адресу
http://192.168.100.4/phpmyadmin/
выдается ошибка 500
а при переходе по статическому внешнему ip
http://xx.xx.xx.xx/phpmyadmin/
выдается пустая страница
обшарил весь форум. очень многое перепробовал. перезагружался.
chmod 777 /var/lib/php/session
такой папки нет в debian 7. есть только
/var/lib/php5 пустая папка
/var/lib/phpmyadmin в которой нету папки session. есть только
blowfish_secret.inc.php права 640
config.inc.php права 640
выставления прав 644 не дало никакого результата
в /usr/share/phpmyadmin решил не копаться
ко всем php файлам стоят права 644
root@debian:/# find */phpmyadmin
etc/phpmyadmin
etc/phpmyadmin/htpasswd.setup
etc/phpmyadmin/lighttpd.conf
etc/phpmyadmin/phpmyadmin.desktop
etc/phpmyadmin/config.header.inc.php
etc/phpmyadmin/config.inc.php
etc/phpmyadmin/phpmyadmin.service
etc/phpmyadmin/config-db.php_
etc/phpmyadmin/config.footer.inc.php
etc/phpmyadmin/apache.conf
у всех этих файлов права 644 кроме
htpasswd.setup 640
config-db. php_
почему на конце черточка _ я фиг знает
пробовал убрать ее. ничего не поменялось
Re: phpmyadmin blank page Error 500 Ошибка 500 пустая страни
Post by skurudo » Sun Sep 13, 2015 10:27 pm
Re: phpmyadmin blank page Error 500 Ошибка 500 пустая страни
Post by skurudo » Sun Sep 13, 2015 10:34 pm
Re: phpmyadmin blank page Error 500 Ошибка 500 пустая страни
Post by qwerty » Sun Sep 13, 2015 11:57 pm
Version: ‘5.5.44-0+deb7u1’ socket: ‘/var/run/mysqld/mysqld.sock’ port: 3306 (Debian)
150914 2:45:02 [Note] /usr/sbin/mysqld: Normal shutdown
150914 2:45:02 [Note] Event Scheduler: Purging the queue. 0 events
150914 2:45:03 InnoDB: Starting shutdown.
150914 2:45:04 InnoDB: Shutdown completed; log sequence number 3338444
150914 2:45:04 [Note] /usr/sbin/mysqld: Shutdown complete
Источник
Я работал над крошечной выборкой формы и вставкой в систему базы данных MySQL с помощью PHP. Раньше я работал с этим типом кода на локальном сервере WAMP, и теперь я пытаюсь сделать это по-настоящему на этот раз на своем хостинге, но я продолжаю получать ошибку 500 Error Internal Server со следующим кодом.
HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="Main_Stylesheet.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<title>Contact</title>
</head>
<body>
<nav class="navbar navbar-default" id="Body_Nav" style="margin-bottom: none;">
<div class="container-fluid">
<div class="navbar-header">
<a class="navbar-brand" href="index.php">Filosofie in Amsterdam</a>
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#myNavbar">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse" id="myNavbar" >
<ul class="nav navbar-nav">
<li><a href="index.php">Home</a></li>
<li><a href="bestel.php">Bestel</a></li>
<li><a href="preview.php">Preview</a></li>
<li class="active"><a href="contact.php">Contact</a></li>
<li><a href="us.php">Over Ons</a></li>
<li><a href="donate.php">Doneren</a></li>
</ul>
</div>
</div>
</nav>
<div class="container-fluid" id="Contact_Main_Header">
<div class="row">
<div class="col-lg-12">
<h1 class="text-center" id="Contact_Main_Header_H1">Contact</h1>
</div>
</div>
</div>
<div class="container">
<div class="row">
<div class="col-lg-6">
<h2 class="text-center">Informatie</h2>
</div>
<div class="col-lg-6">
<h2 class="text-center">Nieuwsbrief</h2>
<p class="text-justify">Op de hoogte zijn van voortgang of het laatste nieuws? Geef je dan op via de nieuwsbrief hieronder:</p>
<form method="post" action="formvalid.php">
<div class="form-group">
<label for="Contact_Form_Email">Email Adres:</label>
<input type="email" name="Contact_Form_Email" class="form-control" id="Contact_Form_Email" placeholder="Plaats hier je email adres" required>
</div>
<div class="form-group">
<label for="Contact_Form_First_Name">Voornaam:</label>
<input type="text" name="Contact_Form_First_Name" class="form-control" id="Contact_Form_First_Name" placeholder="Plaats hier je voornaam" required>
</div>
<div class="form-group">
<label for="Contact_Form_Last_Name">Achternaam:</label>
<input type="text" name="Contact_Form_Last_Name" class="form-control" id="Contact_Form_Last_Name" placeholder="Plaats hier je voornaam" required>
</div>
<button type="submit" class="btn btn-default">Verzenden</button>
</form>
</div>
</div>
</div>
</body>
</html>
И PHP:
<?php
$Server = "localhost";
$Username = "filoso1q_admin";
$PW = "Foxtrot15";
$DB = "filoso1q_nieuwsbrief";
$connection = mysqli_connect($Server, $Username, $PW, $DB);
if($connection = false) {
die("Error: " . mysqli_error_connect());
}
$Email = $_POST("Contact_Form_Email");
$First_Name = $_POST("Contact_Form_First_Name");
$Last_Name = $_POST("Contact_Form_Last_Name");
$sql = "INSERT INTO `Users` ('User_ID', 'Email', 'First_Name', 'Last_Name') VALUES (NULL, '$Email', '$First_Name', '$Last_Name');";
mysqli_query($sql);
mysqli_close($connection);
?>
Я почти уверен, что кое-что из этого должно работать, но по какой-то причине я могу выполнять запросы только в самом PHPmyadmin. Хост, который у меня есть, использует Cpanel webadmin для веб-сервера.
0
Решение
Я передумал и решил опубликовать ответ в конце концов.
Вы назначаете if($connection = false)
с одним знаком равенства, а не с двумя if($connection == false)
,
- http://php.net/manual/en/language.operators.assignment.php
- http://php.net/manual/en/language.operators.comparison.php
Или обратитесь к руководству по mysqli_connect()
для больше вариантов:
- http://php.net/manual/en/function.mysqli-connect.php
Вы используете неправильные идентификаторы идентификаторов для столбцов в вашем запросе. Это должны быть галочки, а не обычные кавычки.
- http://dev.mysql.com/doc/en/identifier-qualifiers.html
Sidenote о клещах: Вы даже не нуждаетесь в них, так как вы не используете какой-либо из Зарезервированные слова MySQL, они также не содержат пробелов, дефисов или любых других символов, на которые MySQL будет жаловаться, поэтому вы можете безопасно удалить их для имен столбцов.
Затем вы использовали неверный тип скобок для ваших массивов POST. Ты использовал (...)
а не квадратные [...]
,
Вы также не передали соединение вашему запросу, который должен быть первым параметром.
- http://php.net/manual/en/mysqli.query.php
Перепишите с проверкой ошибок по запросу:
<?php
$Server = "localhost";
$Username = "filoso1q_admin";
$PW = "Foxtrot15";
$DB = "filoso1q_nieuwsbrief";
$connection = mysqli_connect($Server, $Username, $PW, $DB);
if($connection == false) {
die("Error: " . mysqli_error_connect());
}
$Email = $_POST["Contact_Form_Email"];
$First_Name = $_POST["Contact_Form_First_Name"];
$Last_Name = $_POST["Contact_Form_Last_Name"];
$sql = "INSERT INTO `Users` (`User_ID`, `Email`, `First_Name`, `Last_Name`) VALUES (NULL, '$Email', '$First_Name', '$Last_Name');";
mysqli_query($connection, $sql) or die(mysqli_error($connection));
mysqli_close($connection);
?>
добавлять Отчет об ошибках в начало вашего файла (ов), который поможет найти ошибки.
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
// Then the rest of your code
Примечание: Отображать ошибки следует только в постановке, а не в производстве.
а также or die(mysqli_error($con))
в mysqli_query()
для отладки.
Также убедитесь, что у вас есть правильные типы, выбранные для ваших столбцов, и что их длина достаточно велика для размещения данных.
Кроме того, убедитесь, что ваш User_ID
Столбец принимает значения NULL и не является AUTO_INCREMENT. В противном случае использование NULL не удастся.
Вам нужно изменить ваш запрос на VALUES ('', '$Email', ...
Ваш настоящий код открыт для SQL-инъекция. использование mysqli_*
с подготовленными заявлениями, или же PDO с готовые заявления.
Ошибка 500 является ошибкой сервера и может быть просмотрена в ваших журналах. Либо проверьте их, либо используйте отчеты об ошибках, как указано выше, для просмотра на экране.
1
Другие решения
Других решений пока нет …
Проблема, с которой сталкиваются многие программисты после перевода площадки на современную версию PHP, — вероятная полная или частичная потеря работоспособности программного обеспечения на одном или нескольких сайтах площадки. Не предавайтесь панике, всё решаемо!
Использование функций mysql_connect(), mysql_select_db(), mysql_query() и т.д.
В PHP 7 разработчики отказались от расширения mysql, все использования функций расширения приводят к фатальной ошибке (Call to undefined function).
Как заменить неработающие функции mysql_connect(), mysql_select_db(), mysql_query()? Ошибка «PHP Fatal Error: Call to undefined function»
Решения проблемы есть и даже не одно!
Есть достойная альтернатива mysql — расширение mysqli. Функции расширения соответствуют старым (большая часть):
mysqli_fetch_array() //расширение mysqli mysql_fetch_array() //расширение mysql
1. Если у вас небольшой проект, вам будет несложно через поиск найти несколько строк в коде с функциями, начинающимися с «mysql_*» расширения mysql. Вручную отредактируйте код, заменив «mysql_*» на «mysqli_*».
2. Если у вас большой проект или вы очень активно пользовались функциями расширения mysql, вам будет непросто поменять все упоминания устаревших функций. В таком случае вам поможет следующее решение. Создайте PHP-файл, в котором определите функции с именами исключённых, которые будут ссылаться на соответствующие функции расширения mysqli.
Пример кода новой библиотеки. Не надо перечислять все функции расширения, это излишний перфекционизм. Создайте только те, которые встречаются в ваших проектах.
<? function mysql_connect($server, $username, $password, $new_link = NULL, $client_flags = NULL) { $GLOBALS['mysql_oldstyle_link'] = mysqli_connect($server, $username, $password); return $GLOBALS['mysql_oldstyle_link']; } function mysql_query($sql) { return mysqli_query($GLOBALS['mysql_oldstyle_link'], $sql); } function mysql_fetch_row($res) { return mysqli_fetch_row($res); } function mysql_fetch_assoc($res) { return mysqli_fetch_assoc($res); } function mysql_fetch_array($res) { return mysqli_fetch_array($res); } function mysql_fetch_object($res) { return mysqli_fetch_object($res); } function mysql_affected_rows($link = NULL) { if ($link===NULL) $link=$GLOBALS['mysql_oldstyle_link']; return mysqli_affected_rows($link); } function mysql_insert_id($link = NULL) { if ($link===NULL) $link=$GLOBALS['mysql_oldstyle_link']; return mysqli_insert_id ($link); } function mysql_select_db($database_name) { return mysqli_select_db($GLOBALS['mysql_oldstyle_link'], $database_name); } function mysql_errno($link = NULL) { if ($link===NULL) $link=$GLOBALS['mysql_oldstyle_link']; return mysqli_errno($link); } function mysql_error($link = NULL) { if ($link===NULL) $link=$GLOBALS['mysql_oldstyle_link']; return mysqli_error($link); } function mysql_num_rows($res) { return mysqli_num_rows($res); } function mysql_free_result($res) { return mysqli_free_result($res); } function mysql_close($link) { return mysqli_close($link); } function mysql_real_escape_string($sql, $link = NULL) { if ($link===NULL) $link=$GLOBALS['mysql_oldstyle_link']; return mysqli_real_escape_string($link, $sql); } function mysql_get_server_info($link = NULL) { if ($link===NULL) $link=$GLOBALS['mysql_oldstyle_link']; return mysqli_get_server_info($link); } ?>
Данный код сохраните в файл, назовите его, например, deletedmysql.php и сохраните в корне сайта (на одном уровне с index.php главной страницы сайта).
В каждый PHP-файл, в котором встречается ошибка, добавьте строку в самое начало файла, после открывающего кода:
<? include_once 'deletedmysql.php'; /* далее старый PHP-код */
Совсем идеально будет добавить проверку на версию PHP, так как при переезде на другую площадку или понижении версии PHP до 5.x вы получите ошибку PHP: Fatal error: Cannot redeclare…
if (version_compare(PHP_VERSION, '7.0.0', '>=')) include_once 'deletedmysql.php';
Маленький лайфхак для тех, кому понравился способ 2. Используйте это решение только в качестве временной заглушки. При удобном случае перепрограммируйте код на использование новых функций.
PHP Fatal error: Uncaught Error: Call to undefined function split()
В PHP 7 функция spit() — разбиение строки на массив по регулярному выражению, — была исключена. Альтернатива есть, функции preg_split(), str_split(), explode().
В приведённом примере разбить командную строку можно любой функцией. Лично я предпочитаю explode().
maxim_marach 0 / 0 / 0 Регистрация: 07.10.2015 Сообщений: 20 |
||||||||
1 |
||||||||
29.08.2017, 23:03. Показов 4013. Ответов 5 Метки нет (Все метки)
Проблема соединения с БД.
При проверке данного кода выводит белый экран.
В этом коде выдает ошибку HTTP error 500.
__________________
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
29.08.2017, 23:03 |
5 |
Почетный модератор 16842 / 6720 / 880 Регистрация: 12.06.2012 Сообщений: 19,967 |
|
30.08.2017, 21:40 |
3 |
а версия PHP-то хоть какая?
0 |
0 / 0 / 0 Регистрация: 07.10.2015 Сообщений: 20 |
|
30.08.2017, 23:32 [ТС] |
4 |
Версия PHP 7.0.22
0 |
4839 / 3852 / 1598 Регистрация: 24.04.2014 Сообщений: 11,300 |
|
30.08.2017, 23:48 |
5 |
Версия PHP 7.0.22 Это расширение устарело с версии PHP 5.5.0, и удално с выпуска 7.0.0. Вместо него используйте mysqli или PDO_MySQL http://php.net/manual/ru/intro.mysql.php
0 |
3322 / 2842 / 1423 Регистрация: 15.01.2014 Сообщений: 6,170 |
|
30.08.2017, 23:48 |
6 |
Версия PHP 7.0.22 Вот тут и кроется ответ. В версии 7+ расширение mysql_* было удалено, о чем уже давно предупреждалось в официальной документации.
0 |
-
Prado
Thread starterChallenge Everything
Offline
-
Admin
Недавно мы обнаружили ошибку в расширении MySQLi для PHP, который вызывает ошибку сегментации в некоторых установках PHP, когда mysqli_result::fetch_fields функция используется.
Ошибка происходит на Linux серверах при использование следующего ПО:
PHP Версия: PHP 5.3.6
ОС: CentOS release 5.6 (Final)
Mysql Версия : 5.0.92-communityОшибка проявляется так:
1. На №3 шаге процесса установки, процесс завершается, и пользователи перенаправляются на шаг №1.
2. На шаге №2 процесса обновления, Apache ошибка 500 возникает. В журналах ошибок вы можете увидеть, такие сообщения:
На некоторых серверах ошибка 500 маскируется под сообщение «Page Not Found» от SocialEngine.
3. Другие инструменты > Проверка зависимостей, возникает проблема как в шаге №2.
Исправление:
Если вы столкнулись с этой ошибкой при выполнении обновления, скачайте
View attachment engine4_r9158.zip
прилагается к данной статье, и извлеките его содержимое.
Далее, используя FTP клиент, загрузите файл в корневой каталог SocialEngine, перезапишите файл application/libraries/Engine/Sanity/Test/MysqlEngine.php.
Чтобы применить патч вручную, внести следующие изменения:
Откройте файл найдите строку №82, найдите строки кода, которые выглядят так:
// Try to list engines try { **$data = $adapter->query('SHOW ENGINES')->fetchAll(); } catch( Exception $e ) { **return $this->_error('badAdapter'); }
Замените их на:
// Try to list engines if( $adapter instanceof Zend_Db_Adapter_Mysqli ){ **// Fixes MySQLI segfault in fetch_fields() with SHOW ENGINES **$connection = $adapter->getConnection(); **$result = mysqli_query($connection, 'SHOW ENGINES'); **if ( !$result instanceof MySQLi_STMT ){ ****return $this->_error('badAdapter'); **} ** **$data = array(); **while ( $row = $result->fetch_array() ){ ****$data[] = $row; **} } else { **try { ****$data = $adapter->query('SHOW ENGINES')->fetchAll(); **} catch( Exception $e ) { ****return $this->_error('badAdapter'); **} }
-
-
ProjekToR
Novice member
Offline
- Message Count:
- 18
- Likes Received:
- 0