发布于2026-07-15 阅读(0)
扫一扫,手机访问
在 MAMP 环境下跑 PHP 脚本,有个基本前提必须搞清楚:它不能像普通文件那样双击运行,也不能直接在浏览器里打开文件路径(比如 file:///Users/xxx/index.php)。正确的做法是,让 Apache 通过 HTTP 协议来解析执行。只要 Apache 服务在跑、文件放对了地方、URL 写对了,index.php 就能正常工作。
很多人输入 http://localhost/index.php 后,看到页面空白或者报错,第一反应就是代码有问题。其实,大多数情况下,问题出在服务没起来,或者端口没写对。
Start Servers 启动它们。8888,不是常见的 80。所以,正确的 URL 必须带上端口号:http://localhost:8888/index.php。80),要确保系统允许这么做(通常需要输入管理员密码)。否则,Apache 启动会失败,状态灯也不会变绿。/htdocs/ 或 /MAMP/ 这样的路径——它们是磁盘上的真实路径,不是 Web 访问路径。MAMP 只解析放在“文档根目录”里的 PHP 文件。默认情况下,这个目录在 macOS 上是 /Applications/MAMP/htdocs/,在 Windows 上是 C:\MAMP\htdocs。当然,你也可以自己修改。
test.php 丢进 htdocs 文件夹,然后访问 http://localhost:8888/test.php 就行。htdocs/blog/index.php,对应的 URL 就是 http://localhost:8888/blog/index.php。Preferences → Web Server → Document Root 修改路径(比如改成 ~/Sites/myapp),改完之后必须重启 Apache 才能生效。页面能打开,不等于 PHP 在执行。最常见的一种“假成功”表现是:浏览器直接显示了原始代码 ,或者弹出了下载对话框。
info.php 文件,里面只写一行:http://localhost:8888/info.php——如果看到一个大表格,里面包含 PHP 版本、Loaded Modules 等信息,说明 PHP 运行正常;如果看到代码原文,或者出现 500 错误,那就说明 Apache 没有加载 PHP 模块。phpinfo() 页面顶部会显示当前实际运行的 PHP 版本,别只看 Preferences 里选的那个,要以这个为准。在终端里执行 php script.php,是绕过了 Apache 的纯 CLI 模式。这种模式适合调试逻辑,但无法测试 $_GET、$_POST、session、rewrite 规则这类 Web 特性。
php -v 看是否输出版本号。如果报 command not found,说明 MAMP 的 PHP 没有加到系统的 PATH 环境变量里。php test.php,输出会直接显示在终端里。php.ini 路径通常不同),比如 upload_max_filesize、extension_dir 这些设置,都可能和 Web 模式不一致。mysqli、pdo_mysql)在 CLI 下默认是关闭的,需要手动启用。真正容易被忽略的三个点:Document Root 路径、端口号、以及 PHP 版本切换后是否重启了 Apache。这三个环节任何一处出错,都会让脚本“看起来没反应”。别急着改代码,先用 info.php 验证一下环境是否就绪。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8