PHP本地服务器调用MySQL出现白屏问题求助
解决建议
先开启错误显示,定位问题根源
在你的PHP脚本最顶部添加以下代码,强制显示所有错误,这样就能看到白屏的具体原因:
error_reporting(E_ALL); ini_set('display_errors', 1); ini_set('display_startup_errors', 1);
排查mysqli扩展是否在Web环境启用
PHP的CLI模式和内置Web服务器可能使用不同的配置文件,CLI能正常用mysqli不代表Web环境也启用了:
- 创建一个
phpinfo.php文件,内容为:<?php phpinfo(); ?> - 访问
localhost:8000/phpinfo.php,页面搜索mysqli关键字 - 如果找不到相关模块信息,打开PHP安装目录下的
php.ini,找到;extension=mysqli这一行,去掉开头的分号,保存后重启PHP内置服务器(关闭命令行窗口重新执行启动命令)
完善连接代码的错误处理
修改你的MySQL连接代码,明确输出错误信息,示例:
$conn = mysqli_connect('localhost', '你的用户名', '你的密码', '你的数据库名'); if (!$conn) { die('连接失败: ' . mysqli_connect_error()); }
检查MySQL用户权限
CLI连接MySQL时可能用的是本地socket方式,而Web环境下PHP可能用TCP/IP连接(127.0.0.1),部分MySQL用户只授权了localhost访问,不支持127.0.0.1:
- 尝试把连接地址从
localhost改成127.0.0.1 - 或者登录MySQL,执行以下命令给用户授权(替换
your_user、your_pass和your_database):
GRANT ALL PRIVILEGES ON your_database.* TO 'your_user'@'127.0.0.1' IDENTIFIED BY 'your_pass'; FLUSH PRIVILEGES;
确认PHP内置服务器的启动目录
确保启动命令的-t参数指定了正确的项目根目录,比如你的脚本在D:\web\project下,启动命令应为:
php -S localhost:8000 -t D:\web\project
内容的提问来源于stack exchange,提问作者William Peltzer
相关产品推荐
相关产品推荐

