Я пытаюсь настроить 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, но у него проблемы с его поиском.
То, что я сделал, было 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>
То, что я сделал, было 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>
То, что я сделал, было 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>
В вашем коде есть правильный код для использования синтаксических ошибок:
<?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Вы говорите, что сделали это ...
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 как свой первый шаг отладки.
] Много раз, имея этот простой выход, быстро решает сложные проблемы.
Вы говорите, что сделали это ...
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 как свой первый шаг отладки.
] Много раз, имея этот простой выход, быстро решает сложные проблемы.
В вашем коде есть правильный код для использования синтаксических ошибок:
<?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Вы говорите, что сделали это ...
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 как свой первый шаг отладки.
] Много раз, имея этот простой выход, быстро решает сложные проблемы.
В вашем коде есть правильный код для использования синтаксических ошибок:
<?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