使用 PHP 连接到 App Engine 中的本地 MySQL
Posted
技术标签:
【中文标题】使用 PHP 连接到 App Engine 中的本地 MySQL【英文标题】:Connect to local MySQL in App Engine with PHP 【发布时间】:2013-05-22 11:47:37 【问题描述】:我正在测试新的 App Engine php SDK(开发环境),但在连接到本地 mysql 时遇到问题。
我用必要的参数启动 dev_appserver.py,告诉它我的 MySQL 在哪里 (--mysql_host=localhost --mysql_port=3306 --mysql_user=admin --mysql_password=password 但仍然无法使用PHP 脚本中的 mysqli_connect 命令。
我在某处读到,使用这些命令,甚至应该路由与 cloudSQL 的连接...
有什么建议接下来要看什么吗?
本
【问题讨论】:
【参考方案1】:如果您在开发环境中测试它,那么您现在可以简单地忽略 cloudSQL 路由。
我认为您需要执行以下操作验证您可以使用简单的 MySQL 连接功能进行连接,然后确保已安装 MySQLi(因为未包含 Google App Engine 的 Web 安装步骤)
$link = mysql_connect('localhost', 'admin', 'password');
if(!$link)
die('Could not connect: ' . mysql_error());
else
mysql_close($link);
echo 'Connected successfully and everything seems fine .... Checking MySQLi Installation<br><br>';
if(function_exists('mysqli_connect'))
echo 'MySQLi is Installed :S';
else
echo 'Oops. You need to reconfigure Your PHP Installation to Include MySQLi';
如果您收到如下回复:
连接成功,一切正常....检查 MySQLi 安装
哎呀。您需要重新配置 PHP 安装以包含 MySQLi
那么您可能需要重新运行配置以启用 MySQLi 和 PDO 驱动程序
./configure --prefix=$PWD/installdir --enable-bcmath --with-mysql --with-pdo-mysql --with-mysqli
【讨论】:
【参考方案2】:您的开发服务器可能正在错误的位置查找套接字文件。查找文件 mysql.sock
常见的地方有:
/Applications/MAMP/tmp/mysql/mysql.sock
or /tmp/mysql.sock
or /var/mysql/mysql.sock
如果您不想移动任何东西或直接连接到套接字,请设置符号链接:
$con = mysql_connect(':/Applications/MAMP/tmp/mysql/mysql.sock', 'root', '1234');
【讨论】:
以上是关于使用 PHP 连接到 App Engine 中的本地 MySQL的主要内容,如果未能解决你的问题,请参考以下文章