我是php和Google-app引擎的初学者。我已经创建了一个php网页,我只需要连接到外部MySQL数据库来记录用户访问统计数据。
在stats.php
下,我include("config.php");
如何config.php
如何连接:
<?php
// change these variables
$host=("example.com"); //host
$uname="abc";//MySQL username
$pass="Abc@123";//MySQL password
$db="stats"; //MySQL Database
//don't need to change
$con = mysql_connect($host,$uname,$pass);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db($db, $con);
?>
当我运行stats.php
时,我在appspot.com上收到以下错误
Failed to connect to MySQL: Unable to find the socket transport "tcp" - did you forget to enable it when you configured PHP?
我还确认从外部主机连接到我的服务器,port 3306
也已打开。
$ mysql -u webadmin –h (server ip) –p
我没有正确使用获取网址的方法,请帮忙。 感谢。
答案 0 :(得分:4)
不幸的是,这还不行。原因是App Engine PHP运行时当前不支持套接字。其他App Engine运行时(Python / Java / Go)支持套接字,因此可以肯定它将在未来的某个时候添加到PHP中。
答案 1 :(得分:0)
$host="example.com"; // should contain a valid host name or an ip address of the mysql server to which you want to connect
只有在需要时才需要更改其他内容,用户名和密码。您必须确保远程数据库允许该用户名的外部连接。此外,您最好使用mysqli_*
而不是旧的已弃用的mysql_*
扩展名。
$link = mysqli_connect($host,$uname,$pass,$db) or die("Error " . mysqli_error($link));
在stats.php下,您可以按照您已经提到的方式简单地包含任何代码文件:
<?php
include("config.php");
?>
答案 2 :(得分:0)
$con = mysql_connect('your_my_sql_servername or IP Address', 'new_user_which_u_created', 'password');
if (!$con) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_select_db('sandsbtob',$con) or die ("could not open db".mysql_error());
并且服务器的防火墙必须设置为启用端口3306上的连接
希望这会对你有所帮助