PHP 与 MySQL 无法通信

PHP 与 MySQL 无法通信

我得出的结论是,我的 PHP 安装和 MySQL 安装无法兼容;我正在制作第一个使用 MySQL 作为内容的网页,但经过两天、手册页、在线文档和数十个教程,我就是无法让 PHP/MySQL 部分工作。我有一个已建立的家庭 Web 服务器(我是唯一的管理员/用户),运行 Apache 并托管我的网页。我安装了 MySQL,并且能够通过终端创建和查询数据库。我安装了 PHP,并且可以使用 echo 将文本打印到文档中。但是,当我使用 MySQL 时,一切都变了……

我有一个页面,其中包含初始化内容。包含几段硬编码的 HTML,然后是用于访问 MySQL 的 PHP 代码。当我第一次加载该页面时,结果只是一个空白页。我注释掉了 PHP 部分并重新加载以确认纯 HTML 仍然有效,结果确实如此。因此,PHP 的某些部分阻止了页面的任何部分加载。

为了开始排除代码故障,我把所有 PHP 代码都注释掉了,除了以下用于服务器连接的代码,该代码改编自几个不同的教程:

<?
echo("<p>PHP is working</p>"); 
$ses = mysql_connect("localhost","username","password");
if(!$ses){
 echo("<p>Connection to content server failed.</p>");
 exit();
}
echo("<p>Database Connected</p>");
?>

加载页面时,除了“PHP 正在运行”的段落外,还会加载开头的 HTML,但不会显示失败或成功消息。我从代码中删除了 If 结构 - 这样只剩下两个 echo 和 mysql_connect - 并得到了相同的结果。

mysql_connect 功能似乎导致服务器在运行时停止加载代码,但我不知道该如何修复它。记录如下:我已修改 php.ini 文件以包含“connection = msql.so”行,并且我使用的是 MySQL 5.5、Apache 2.2.22、PHP 5.3.10、Ubuntu 12.04。此外,我的路由器和调制解调器都已配置为将端口 3306 转发到服务器 - 虽然我不认为这有什么必要 - 并且我的 MySQL 用户名和密码已经过三重检查,并且与我在终端中成功使用的用户名和密码相同。

我错过了什么?

答案1

一切看起来都很好,所以我认为你的安装并不完整。为了让 mysql 和 php 进行通信,你需要安装以下软件包php5-mysql

sudo apt-get install php5-mysql

答案2

安装php5-mysql包并使用mysqli_connect而不是 mysql_connect

答案3

sudo apt-get install php5-mysql

从 中找到 Tomcat-version /etc/init.d/。应该有一个名为 tomcat7 的文件,因此 7 是版本

sudo service tomcat7 stop 
sudo service tomcat7 start

有时重启机器有助于解决其他问题。重启后,不要忘记运行:

sudo service tomcat7 start 

相关内容