0

我知道将文件从本地/测试服务器传输到实时站点服务器是一个非常简单的过程。但是,我在为客户工作的一个网站上遇到了几个问题。

该站点使用 mysql 数据库来获取提供的大部分信息和图像,因为它是一家基于零售的企业,有数千种模式/样本可供选择。我的所有文件都完美地传输到测试并正常工作。但是,当我反过来实时推送文件时,我收到以下错误消息:

警告:mysql_query() [function.mysql-query]:无法通过 /home/warner_walls/warnerwalls.com/advsearch 中的套接字 '/var/run/mysqld/mysqld.sock' (2) 连接到本地 MySQL 服务器。第 133 行的 php

警告:mysql_query() [function.mysql-query]:无法在第 133 行的 /home/warner_walls/warnerwalls.com/advsearch.php 中建立到服务器的链接

警告:mysql_num_rows():提供的参数不是第 134 行 /home/warner_walls/warnerwalls.com/advsearch.php 中的有效 MySQL 结果资源

警告:mysql_query() [function.mysql-query]:无法通过 /home/warner_walls/warnerwalls.com/advsearch 中的套接字 '/var/run/mysqld/mysqld.sock' (2) 连接到本地 MySQL 服务器。第 148 行的 php

警告:mysql_query() [function.mysql-query]:无法在第 148 行的 /home/warner_walls/warnerwalls.com/advsearch.php 中建立到服务器的链接

警告:mysql_fetch_assoc():提供的参数不是第 241 行 /home/warner_walls/warnerwalls.com/advsearch.php 中的有效 MySQL 结果资源

请注意,测试服务器和实时服务器的数据库连接是相同的;这就是为什么我无法弄清楚为什么它适用于一个而不是另一个。我已经使用程序 TextWrangler 来比较所有有问题的 php 页面,以找到可能导致错误的代码差异,并且所有页面都被标记为相同。

当错误消息出现时,搜索中请求的图像会正确显示,只是错误语句与最后一行样本重叠并从那里堆叠在下面。

我应该寻找什么来帮助纠正这个问题?

4

1 回答 1

0

第一条错误消息很清楚:

警告:mysql_query() [function.mysql-query]:无法通过/home/warner_walls/warnerwalls.com/advsearch 中的套接字'/var/run/mysqld/mysqld.sock' (2) 连接到本地 MySQL 服务器。第 133 行的 php

当然,本地MySQL 服务器正在运行?

它被配置为在 unix 套接字上侦听本地连接?(检查/etc/my.cnf线路socket=/var/run/mysqld/mysqld.sock


如果您已将所有数据库文件从实时服务器复制到您的测试平台,我假设您也复制了 mysql 数据库文件(那些存储用户表、权限等的文件)。

当您说“测试服务器和实时服务器的数据库连接相同”时,这将得到证实。

如果该分析并非完全愚蠢,我的猜测是数据库被配置为授予权限user@ip_addressuser@%- 但不授予user@localhost.

于 2013-08-12T21:30:22.483 回答