下载了一套源码,双击 index.php 浏览器直接弹出下载框,或者满屏都是 PHP 代码,这就是没环境。php环境搭建说白了就三样:PHP 解释器、Web 服务器、数据库,本地调试再加一个能改代码的编辑器。
集成包和手动装,先看用途
只想把源码跑起来看看效果,用 phpStudy、XAMPP、WAMP 这类集成包最省事,装完在面板里点启动 Apache 和 MySQL,网站根目录默认在安装目录的 WWW 下,把源码丢进去就能访问。缺点是版本切换不灵活,配置被面板包了一层,生产环境也别用这套。
要跟线上环境对齐,就手动装:PHP 解压到 D:/php,Apache 或 Nginx 单独装,MySQL 用官方安装包。把 php.ini-production 复制成 php.ini,改 extension_dir 指向 ext 目录,去掉 extension=mysqli、pdo_mysql、mbstring、curl、fileinfo 前面的分号,再把 PHP 目录加进系统 PATH。
跑起来之前先过这几关
命令行敲 php -v 能出版本号,说明解释器通了。Apache 的 httpd.conf 里要加载 php 模块,Nginx 则要配 fastcgi_pass 指向 PHP 的 9000 端口,并启动 php-cgi。80 端口常被占用,报错多半是 IIS 或旧服务在跑,换成 8080 再访问 localhost:8080 试。Apache 默认首页出现 It works,说明服务本身没问题,接下来再查 PHP 模块。
数据库连不上先看 config 里的账号密码,报 Access denied 就是密码不对,报 Unknown database 就是库还没建。导入 sql 文件可以用命令行 mysql -u root -p 库名 < 文件名,也可以打开 phpMyAdmin 点导入,注意文件编码选 UTF-8。
白屏和 500 从哪查
白屏先把 php.ini 里的 display_errors 打开,错误会直接显示出来;500 错误去看 Apache 的 error.log。源码要求 PHP 版本时,别硬拿老版本跑,函数不存在会直接 fatal。装完记得把目录里的 install 文件夹删掉,线上环境把 display_errors 关掉,避免路径泄露。改完 php.ini 要重启服务才生效,很多人卡在这一步。
php环境搭建没有唯一答案:临时看效果用集成包,做项目就手动装并记下每个配置文件的位置。环境这东西一次配好,后面省很多事。