PHP 脚本适用于笔记本电脑,但不适用于服务器
Posted
技术标签:
【中文标题】PHP 脚本适用于笔记本电脑,但不适用于服务器【英文标题】:PHP Script works on laptop but not server 【发布时间】:2009-10-30 10:19:23 【问题描述】:我向 php 脚本发出 AJAX GET 请求,以在每个键入的字符上将文本字段中的值与数据库中的值进行比较 - 这在我的笔记本电脑 (Windows) 上运行流畅且美观。
我将脚本传输到运行 windows server 2003 的计算机上,它尝试发出 GET 请求,但返回“500 内部服务器错误”?!
发生了什么事? PHP 脚本如下:
include('includes/db-connect.php');
$connectionInfo = array( 'Database' => 'TYn_Motor');
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if($conn)
$tsql = "SELECT * FROM Monitor_User_Session WHERE Session_ID = '".$_GET['session_id']."'";
$stmt = sqlsrv_query($conn, $tsql);
if($stmt !== null)
if(sqlsrv_has_rows($stmt) === false)
echo '0';
else
echo '1';
else
echo '1';
//die( print_r( sqlsrv_errors(), true));
else
echo '1';
//echo 'Database Connection could not be Established';
sqlsrv_close($conn);
任何人都可以看到可能导致问题的原因吗?
包含只有一行 - 变量 $serverName 已设置。我在笔记本电脑上运行 PHP 5.3.0,服务器运行 PHP 5.2.9。
【问题讨论】:
您在笔记本电脑上使用了哪些服务器软件(如 Apache),您在服务器上使用了哪些软件? 我在笔记本电脑上使用 Apache,服务器也是如此。 这不是数据库连接问题,因为我已经很好地连接到数据库了。 【参考方案1】:如果生产服务器将 display_errors
设置为 off
,则可能会抛出常规 PHP 错误(例如缺少扩展名),但没有显示任何内容。尝试将ini_set('display_errors', true)
放在脚本的开头。
【讨论】:
谢谢。应该先这样做。出于一个奇怪的原因,我得到 sqlsrv_has_rows 是一个未定义的函数,即使安装了 sql server 驱动程序并且其他 sql server 调用工作 - 但这是 *** 的另一个问题,如果我无法弄清楚! :)以上是关于PHP 脚本适用于笔记本电脑,但不适用于服务器的主要内容,如果未能解决你的问题,请参考以下文章
Google Charts 散点图适用于 Chrome Macbook,但不适用于 Chrome iPhone
Web 服务 SOAP 请求适用于 SOAPUI,但不适用于 PHP
PHP 图片上传适用于本地主机,但不适用于 GoDaddy 服务器
wordpress 插件适用于本地主机,但不适用于远程服务器