我在 Ubuntu 12.04 上通过软件中心按顺序安装了 apache2、php5、mysql-server、php5-mysql、phpmyadmin。Apache 和 PHP 运行良好,没有问题。此外,如果我尝试通过 phpmyadmin 使用 MySQL,一切都会按预期运行。当我想通过 PHP 使用 MySQL 时,问题就开始了。为此,我尝试了以下脚本:
$connection = mysql_connect($host, $user, $pw) OR die(mysql_errno()." ".mysql_error());
mysql_select_db($db, $connection) OR die(mysql_errno()." ".mysql_error());
这将返回“1046 未选择数据库”。我确信数据库存在,我甚至尝试使用标准“测试”数据库并以 root 用户身份进行操作。真正让我感到好奇的是,当我使用不存在的用户(“asdf”)时,会出现相同的消息,但 mysql_connect 函数没有失败。
这让我怀疑我在 Linux 系统中遇到了用户权限问题,因为它与 phpmyadmin 一起工作,phpmyadmin 不是通过 webinstaller 安装的,而是通过软件中心安装的。我只能猜测,因此 phpmyadmin 除了 PHP 之外还拥有访问 MySQl 的其他权限,但我不知道如何解决这个问题。经过几个小时的尝试和谷歌搜索,我现在感到有点迷茫。请帮助我。
答案1
这似乎与 Ubuntu 本身无关。
要了解 PHP 文件所需的权限,您可以查看https://stackoverflow.com/questions/2096255/what-permissions-for-php-scripts-directories
phpMyAdmin 很可能位于 /usr/share/phpmyadmin,您可以查找它正在使用的设置。
http://rudyegenias.wordpress.com/2006/09/15/enabling-phpmyadmin-once-you-change-permission-or-privileges-on-mysql-database/可能会有用,建议查看 config.inc.php。