Не удалось подключиться к mysql, используя php5 LAMP server

Я пытаюсь настроить LAMP-сервер на lubuntu 14.04.5, я удалил index.html и заменил его на: /var/www/html/index.php Проблема в том, что все до этого тега <?php выполняется, и это, похоже, разбивает его. Я не знаю, почему, потому что я ДОЛЖЕН иметь index.html?

<?php $dbhost = "localhost:3306"; $dbuser = "user1"; $dbpass = "pass1"; $connection = mysqli_connect($dbhost, $dbuser, $dbpass); if(!$connection){ die("connection error " . mysqli_error()); } echo "connected successfully"; mysqli_close($connection); ?>

Итак, в моем журнале ошибок php я получаю неопределенную функцию mysqli_connect (). Как сделать это доступной функцией?

Когда я делаю aptitude-поиск php5-mysql, я обнаруживаю, что он установлен. И нет других модулей mysql, кроме mysqlnd, которые, как мне кажется, мне не нужны, так как это просто родной каталог и mysqlnd-ms. Как мне это решить?

edit: Мне кажется, мне нужно добавить расширение mysqli, но у него проблемы с его поиском.

1
задан 29 August 2017 в 22:02

9 ответов

То, что я сделал, было sudo apt-get install php5-mysql. Тогда я все еще получал одну и ту же веб-страницу, поэтому я думал, что ничего не произошло, но после проверки /var/log/php5/error.log Оказывается, ошибка изменилась с «неопределенной команды mysqli_connect ()» на некоторый код ошибка «mysqli_error требует 1 параметра и« объект класса mysqli не может быть преобразован в строку »и« неизвестный сервер mysql localhost: 3306 ». localhost: 3306 был изменен только на locahost, поэтому после обновления моего кода все работает нормально .

<html>
   <head>
      <title>Connecting MySQL Server</title>
   </head>
   <body>
      <?php
         $dbhost = 'localhost';
         $dbuser = 'user1';
         $dbpass = 'pass1';
         $conn = mysqli_connect($dbhost, $dbuser, $dbpass);
         if(! $conn ) {
            die('Could not connect: ' . mysql_connect_error());
         }
         echo 'Connected successfully';
         mysqli_close($conn);
      ?>
   </body>
</html>
2
ответ дан 22 May 2018 в 19:07

То, что я сделал, было sudo apt-get install php5-mysql. Тогда я все еще получал одну и ту же веб-страницу, поэтому я думал, что ничего не произошло, но после проверки /var/log/php5/error.log Оказывается, ошибка изменилась с «неопределенной команды mysqli_connect ()» на некоторый код ошибка «mysqli_error требует 1 параметра и« объект класса mysqli не может быть преобразован в строку »и« неизвестный сервер mysql localhost: 3306 ». localhost: 3306 был изменен только на locahost, поэтому после обновления моего кода все работает нормально .

<html> <head> <title>Connecting MySQL Server</title> </head> <body> <?php $dbhost = 'localhost'; $dbuser = 'user1'; $dbpass = 'pass1'; $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysql_connect_error()); } echo 'Connected successfully'; mysqli_close($conn); ?> </body> </html>
2
ответ дан 18 July 2018 в 08:01

То, что я сделал, было sudo apt-get install php5-mysql. Тогда я все еще получал одну и ту же веб-страницу, поэтому я думал, что ничего не произошло, но после проверки /var/log/php5/error.log Оказывается, ошибка изменилась с «неопределенной команды mysqli_connect ()» на некоторый код ошибка «mysqli_error требует 1 параметра и« объект класса mysqli не может быть преобразован в строку »и« неизвестный сервер mysql localhost: 3306 ». localhost: 3306 был изменен только на locahost, поэтому после обновления моего кода все работает нормально .

<html> <head> <title>Connecting MySQL Server</title> </head> <body> <?php $dbhost = 'localhost'; $dbuser = 'user1'; $dbpass = 'pass1'; $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('Could not connect: ' . mysql_connect_error()); } echo 'Connected successfully'; mysqli_close($conn); ?> </body> </html>
2
ответ дан 24 July 2018 в 18:57

В вашем коде есть правильный код для использования синтаксических ошибок:

<?php
    $dbhost = "localhost:3306";
    $dbuser = "user1";
    $dbpass = "pass1";
    $connection = mysqli_connect($dbhost, $dbuser, $dbpass);
    if(!$connection){
        die("connection error " . mysqli_error());
    }
    echo "connected successfully";
    mysqli_close($connection);
?>

Ошибки:

mysqli_erro() ==> mysqli_error() dbpass ==> $dbpass
2
ответ дан 22 May 2018 в 19:07
  • 1
    спасибо, что указали, что я написал код, поэтому эти ошибки присутствуют только здесь. – DR. Palson_PH.d 24 August 2017 в 02:04
  • 2
    Это <?php tag executes and this seems to crash it непонятно – George Udosen 24 August 2017 в 02:06
  • 3
    Извините, я хочу сказать, что мой html & lt; title & gt; & Lt; / название & GT; появляется и просматривает источник страницы просмотра до появления тега & lt; php. Поэтому я думаю, что php рушится как-то. – DR. Palson_PH.d 24 August 2017 в 03:42
  • 4
    Проверьте журнал ошибок. Это значение по умолчанию равно /var/log/apache2/error.log. Если сбой php, он обычно отмечает это в журнале. Кроме того, для локального развития печать предупреждений и ошибок может иметь большой смысл. – vidarlo 24 August 2017 в 22:09
  • 5
    Спасибо, так что получается, что он не знает, что такое mysqli_connect – DR. Palson_PH.d 24 August 2017 в 23:30

Вы говорите, что сделали это ...

sudo apt-get install php5-mysql

И вы никогда не упоминаете об этом, что также необходимо ...

sudo service apache2 restart

Просто потому, что вы устанавливаете php5 -mysql, не означает, что Apache загрузил либо PHP, либо PHP MySQL.

Вы можете точно узнать, что происходит, создав файл phpinfo.php, содержащий ...

<?php
print_r (phpinfo());
?>

Затем проверьте + убедитесь, что загружен PHP + PHP загружен модуль mysql.

Если вы сомневаетесь, всегда проверяйте свой файл phpinfo.php как свой первый шаг отладки.

] Много раз, имея этот простой выход, быстро решает сложные проблемы.

0
ответ дан 22 May 2018 в 19:07

Вы говорите, что сделали это ...

sudo apt-get install php5-mysql

И вы никогда не упоминаете об этом, что также необходимо ...

sudo service apache2 restart

Просто потому, что вы устанавливаете php5 -mysql, не означает, что Apache загрузил либо PHP, либо PHP MySQL.

Вы можете точно узнать, что происходит, создав файл phpinfo.php, содержащий ...

<?php print_r (phpinfo()); ?>

Затем проверьте + убедитесь, что загружен PHP + PHP загружен модуль mysql.

Если вы сомневаетесь, всегда проверяйте свой файл phpinfo.php как свой первый шаг отладки.

] Много раз, имея этот простой выход, быстро решает сложные проблемы.

0
ответ дан 18 July 2018 в 08:01

В вашем коде есть правильный код для использования синтаксических ошибок:

<?php $dbhost = "localhost:3306"; $dbuser = "user1"; $dbpass = "pass1"; $connection = mysqli_connect($dbhost, $dbuser, $dbpass); if(!$connection){ die("connection error " . mysqli_error()); } echo "connected successfully"; mysqli_close($connection); ?>

Ошибки:

mysqli_erro() ==> mysqli_error() dbpass ==> $dbpass
2
ответ дан 18 July 2018 в 08:01

Вы говорите, что сделали это ...

sudo apt-get install php5-mysql

И вы никогда не упоминаете об этом, что также необходимо ...

sudo service apache2 restart

Просто потому, что вы устанавливаете php5 -mysql, не означает, что Apache загрузил либо PHP, либо PHP MySQL.

Вы можете точно узнать, что происходит, создав файл phpinfo.php, содержащий ...

<?php print_r (phpinfo()); ?>

Затем проверьте + убедитесь, что загружен PHP + PHP загружен модуль mysql.

Если вы сомневаетесь, всегда проверяйте свой файл phpinfo.php как свой первый шаг отладки.

] Много раз, имея этот простой выход, быстро решает сложные проблемы.

0
ответ дан 24 July 2018 в 18:57

В вашем коде есть правильный код для использования синтаксических ошибок:

<?php $dbhost = "localhost:3306"; $dbuser = "user1"; $dbpass = "pass1"; $connection = mysqli_connect($dbhost, $dbuser, $dbpass); if(!$connection){ die("connection error " . mysqli_error()); } echo "connected successfully"; mysqli_close($connection); ?>

Ошибки:

mysqli_erro() ==> mysqli_error() dbpass ==> $dbpass
2
ответ дан 24 July 2018 в 18:57
  • 1
    спасибо, что указали, что я написал код, поэтому эти ошибки присутствуют только здесь. – DR. Palson_PH.d 24 August 2017 в 02:04
  • 2
    Это <?php tag executes and this seems to crash it непонятно – George Udosen 24 August 2017 в 02:06
  • 3
    Извините, я хочу сказать, что мой html & lt; title & gt; & Lt; / название & GT; появляется и просматривает источник страницы просмотра до появления тега & lt; php. Поэтому я думаю, что php рушится как-то. – DR. Palson_PH.d 24 August 2017 в 03:42
  • 4
    Проверьте журнал ошибок. Это значение по умолчанию равно /var/log/apache2/error.log. Если сбой php, он обычно отмечает это в журнале. Кроме того, для локального развития печать предупреждений и ошибок может иметь большой смысл. – vidarlo 24 August 2017 в 22:09
  • 5
    Спасибо, так что получается, что он не знает, что такое mysqli_connect – DR. Palson_PH.d 24 August 2017 в 23:30

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

Похожие вопросы: