1

我是 php 以及 Google-app 引擎的初学者。我已经创建了一个 php 网页,我只需要它来连接到外部 MySQL 数据库来记录用户访问统计信息。在我如何连接下stats.phpinclude("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

我没有正确使用获取网址的方法,
请帮忙。谢谢。

4

3 回答 3

4

不幸的是,这(还)行不通。原因是 App Engine PHP 运行时当前不支持套接字。其他 App Engine 运行时 (Python/Java/Go) 支持套接字,因此可以肯定的是,它会在未来的某个时候被添加到 PHP 中。

于 2013-10-06T01:46:21.240 回答
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_*的 MySQL 扩展。

$link = mysqli_connect($host,$uname,$pass,$db) or die("Error " . mysqli_error($link));

在 stats.php 下,您可以按照您已经提到的方式简单地包含任何代码文件:

<?php
include("config.php");
?>
于 2013-10-05T06:46:20.887 回答
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 上的传入连接

希望对你有帮助

于 2013-10-05T06:50:22.050 回答