apache运行正常而iis提示错误500可能会是什么问题

php中文网
发布: 2016-06-23 13:27:09
原创
978人浏览过

include('conn/conn.php');
var_dump($mysqli);
$sql="select * from user where username=? and password=? and var_zhibu=?";
$stmt=$mysqli->prepare($sql);
$stmt->bind_param("sss", $username, $password, $var_zhibu);
var_dump($stmt);
$username=@$_POST['username'];
$password=md5(@$_POST['password']);
$var_zhibu=@$_POST['zhibu'];

$stmt->execute();

if (!$stmt->fetch()) {
echo "<script>alert('登陆失败');window.location.href='login.php';</script>";
}else{
session_start();
$_SESSION['username']=$username;
$_SESSION['zhibu']=$var_zhibu;
}

$mysqli->close();
?>

这段在Apache上没问题,我用的是wampserver2.5(Apache 2.4.9),在iis7上提示错误500,请问可能是什么原因
conn.php里就一句话:$mysqli=new mysqli('localhost:3306', 'username', 'password', 'db_name');

芦笋演示
芦笋演示

一键出成片的录屏演示软件,专为制作产品演示、教学课程和使用教程而设计。

芦笋演示 34
查看详情 芦笋演示

回复讨论(解决方案)

是不是端口被apache占用了?
或者是rewrite的写法有错,不支持iis的写法。

打开 php 的错误显示功能,就可知道问题的所在

是不是端口被apache占用了?
或者是rewrite的写法有错,不支持iis的写法。



不是端口问题 ,我每次只开Apache或者只开iis

$stmt=$mysqli->prepare($sql); 
似乎是这句的问题,用IIS时var_dump($stmt)结果是null

mysqli 没有装好吧。
在iis下看看phpinfo(); 有没有mysqli扩展。

打开 php 的错误显示功能,就可知道问题的所在



[04-Sep-2015 03:58:58 Europe/Paris] PHP Warning:  mysqli::mysqli():  in E:\wamp\www\phpsite\conn\conn.php on line 2
[04-Sep-2015 03:58:58 Europe/Paris] PHP Stack trace:
[04-Sep-2015 03:58:58 Europe/Paris] PHP   1. {main}() E:\wamp\www\phpsite\welcome.php:0
[04-Sep-2015 03:58:58 Europe/Paris] PHP   2. include() E:\wamp\www\phpsite\welcome.php:10
[04-Sep-2015 03:58:58 Europe/Paris] PHP   3. mysqli->mysqli() E:\wamp\www\phpsite\conn\conn.php:2
[04-Sep-2015 03:58:58 Europe/Paris] PHP Warning:  mysqli::prepare(): Couldn't fetch mysqli in E:\wamp\www\phpsite\welcome.php on line 13
[04-Sep-2015 03:58:58 Europe/Paris] PHP Stack trace:
[04-Sep-2015 03:58:58 Europe/Paris] PHP   1. {main}() E:\wamp\www\phpsite\welcome.php:0
[04-Sep-2015 03:58:58 Europe/Paris] PHP   2. mysqli->prepare() E:\wamp\www\phpsite\welcome.php:13
[04-Sep-2015 03:58:58 Europe/Paris] PHP Fatal error:  Call to a member function bind_param() on a non-object in E:\wamp\www\phpsite\welcome.php on line 15
[04-Sep-2015 03:58:58 Europe/Paris] PHP Stack trace:
[04-Sep-2015 03:58:58 Europe/Paris] PHP   1. {main}() E:\wamp\www\phpsite\welcome.php:0

mysqli 没有装好吧。
在iis下看看phpinfo(); 有没有mysqli扩展。



我装完wampserver,mysqli用的好好的,在iis装了PHPmanager,显示mysqli 已经 enabled了啊

打开 php 的错误显示功能,就可知道问题的所在



知道问题所在 可不知道怎么解决。。

打开 php 的错误显示功能就那么难吗?

日志提供的信息太少,太简要
[04-Sep-2015 03:58:58 Europe/Paris] PHP Warning:  mysqli::prepare():  Couldn't fetch mysqli in E:\wamp\www\phpsite\welcome.php on line 13
无法读取mysqli

用http://php.net/manual/en/mysqli.construct.php上的example,结果:

Connect Error (2002) 由于目标计算机积极拒绝,无法连接。 

打开 php 的错误显示功能就那么难吗?

日志提供的信息太少,太简要
[04-Sep-2015 03:58:58 Europe/Paris] PHP Warning:  mysqli::prepare():  Couldn't fetch mysqli in E:\wamp\www\phpsite\welcome.php on line 13
无法读取mysqli



我打开display error = on了 可是网页上仍然只显示错误500,我也不知道为什么

mysqli 没有装好吧。
在iis下看看phpinfo(); 有没有mysqli扩展。



有的

错误找到了。由于IIS和wampserver不能同时开,当我开iis时候就关了wampserver,于是wampserver的wampmysqld64服务也就没开(早先曾被我设成手动,所以也没随机启动),wampmysqld64的作用应该从名字上就能理解,没有它所以连不上wamp里的mysql。就这样,感谢各位热心参与

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
热门推荐
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号