将PHP脚本上载到另一台服务器并运行它以连接到我的数据库

时间:2012-07-06 06:08:26

标签: php mysql ftp

我创建了一个搜索引擎zoken.co.cc,并选择手动提交网站并下载文件populate.php通过在其他ftp上传populate.php并打开 它将自身索引在数据库中。

例如:网站www.abc.com希望在我的搜索引擎中提交网站并选择自动提交和下载文件(populate.php)并在ftp服务器上传。 并打开页面www.abc.com/populate.php。 然后出现一个页面

Warning: mysql_connect() [function.mysql-connect]: Host '10.1.1.27' is not allowed to connect to this MySQL server in /home/a1091216/public_html/populate.php on line 10

ERROR: Could not connect to database    

我知道他和我的FTP服务器不同但可以保存。

2 个答案:

答案 0 :(得分:1)

这是因为不允许远程服务器使用该用户名连接到数据库服务器。您可以将数据库用户设置为允许来自%的连接,这意味着“使用此用户名登录的用户可以从任何主机连接到数据库服务器”。

在别人的服务器上运行PHP脚本真的很重要吗?我可以看到以下问题:

  • 用户不信任您的PHP脚本,最终无法提交。

  • 用户没有在服务器上安装PHP,或者正在运行服务器来为使用ASP构建的站点提供服务,导致PHP脚本无效。

  • PHP文件将包含数据库用户名和密码。谁说网站管理员不会从PHP文件中获取这些文件并弄乱你的数据库(即使用户帐户只允许从1个表中读/写)?

如果我是你,我会让他们下载一个带有随机字符串的文本文件。请他们将其上传到他们提交的网站的根目录。然后每隔5分钟(直到站点被标记为已验证),让您的服务器出去并使用CURL从其站点中检索文本文件。检查里面的随机字符串,然后填充数据库。

答案 1 :(得分:0)

是的,如果请求该连接的脚本来自另一台服务器,则可以连接到位于一台服务器上的mysql数据库..。
首先要确保主机mysql服务器已打开网络,并在防火墙上打开端口3306(我认为这是号码)。我希望这两个都是默认关闭的 就个人而言,我对这样做非常怀疑。让mysql打开互联网让我非常不舒服。建议你尝试找到一个更好的方法来做到这一点。

重新阅读并意识到我应该更清楚。在my.cnf(mysql配置文件,可能在/ etc中)有一个变量,比如networking = no或skip-networking;我忘记了具体细节。无论如何,需要设置为启用网络,然后您需要重新启动mysqld。