【发布时间】:2013-11-25 22:21:26
【问题描述】:
我有一个运行在我的本地机器上的 wamp 服务器,它暴露给外界。我有几个 php 脚本,允许 android 应用程序访问与 WAMP 服务器在同一台机器上运行的 mySQL 数据库中包含的信息。从我的本地网络内部进行测试时,一切正常。但是,当我尝试从本地网络外部运行 php 脚本时,连接到 mySQL 时出现错误。
connect.php
<?php
header('Access-Control-Allow-Origin: *');
/*** mysql hostname ***/
$hostname = '127.0.0.1';
/*** mysql username ***/
$username = 'chaosjr_user';
/*** mysql password ***/
$password = 'pass';
try {
$dbh = new PDO("mysql:host=$hostname;dbname=chaos_jr", $username, $password);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}
catch(PDOException $e)
{
echo $e->getMessage();
}
?>
我几乎可以肯定这与我从外部世界引用 localhost 的事实有关,但是当我将 127.0.0.1 替换为内部网络上的 IP 地址或外部 IP 地址时,它不会随时随地工作。有什么建议吗?
编辑: 澄清一下,我可以从外部访问我的 php 脚本(我确实有一个静态 IP 地址)并从它们那里获得响应,只要该特定脚本不必查询 MySQL。例如,我可以很好地连接到 XXX.XXX.XXX.XXX/myPHPscript.php,一切看起来都很好。但是应该用 SQL 数据填充的菜单是空的。
【问题讨论】:
-
您确定您使用的 IP 地址正确吗?
标签: javascript php android