我正在尝试在 lubuntu 14.04.5 上设置 LAMP 服务器,我删除了 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 search php5-mysql 时,我显示它意味着它已安装。除了 mysqlnd 之外没有其他 mysql 模块,我认为我不需要它,因为它只是本机目录和 mysqlnd-ms 我该如何解决这个问题?
编辑:我想我需要添加 mysqli 扩展但无法找到它。
您的代码有语法错误正确的代码使用:
错误:
mysqli_erro()
==>mysqli_error()
dbpass
==>$dbpass
所以我所做的是
sudo apt-get install php5-mysql
然后我仍然得到相同的网页,所以我认为没有发生任何事情,但在检查后/var/log/php5/error.log
发现错误从“未定义的命令 mysqli_connect()”变为一些与代码相关的错误,如“mysqli_error 需要 1 个参数和”类 mysqli 的对象无法转换为字符串”和“未知的 mysql 服务器 'localhost:3306'”。localhost:3306 更改为只是 locahost。所以在更新我的代码后,一切正常。你说你做了这...
你从来没有提到这样做,这也是必需的......
仅仅因为您安装了 php5-mysql,并不意味着 Apache 已经加载了 PHP 或 PHP MySQL 模块。
您可以通过创建一个包含...的 phpinfo.php 文件来确定发生了什么。
然后检查 + 确保 PHP 已加载 + PHP mysql 模块已加载。
如有疑问,请始终检查您的 phpinfo.php 文件输出作为您的第一个调试步骤。
很多时候,有了这个简单的输出,就可以快速解决复杂的问题。