基于LAMP栈用PHP构建REST API:PHP源码存放位置咨询
Ubuntu LAMP环境下REST API代码部署问题解决
核心路径确认
默认LAMP配置中,所有可通过本地访问的PHP代码(包括REST API)必须放置在/var/www/html目录下——你可以直接将API文件放在该目录根,也可以创建子目录(比如/var/www/html/api)专门存放API代码,两种方式都能被Apache识别。
部署失败的排查步骤
你之前放置路径没问题却失败,大概率是权限、Apache配置或PHP运行环境的问题,按以下步骤逐一排查:
- 修正文件权限:Apache默认以
www-data用户运行,API文件/目录需赋予对应权限:sudo chown -R www-data:www-data /var/www/html/api sudo chmod -R 755 /var/www/html/api - 确认PHP模块启用:执行命令启用对应PHP版本模块并重启Apache:
sudo a2enmod php8.2 # 替换为你实际安装的PHP版本,如php7.4 sudo systemctl restart apache2 - 检查Apache站点配置:打开默认站点配置文件
/etc/apache2/sites-available/000-default.conf,确认DocumentRoot指向/var/www/html,且在<Directory /var/www/html>块中允许.htaccess(若API用到URL重写):
修改后重启Apache:<Directory /var/www/html> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted </Directory>sudo systemctl restart apache2 - 测试基础PHP运行:在API目录创建
test.php,内容如下:
访问<?php echo "API测试连通"; ?>http://localhost/api/test.php,若能正常输出,说明路径和PHP环境正常,问题出在API代码本身。 - 查看错误日志定位问题:若以上步骤无效,查看Apache错误日志获取具体报错:
sudo tail -f /var/log/apache2/error.log
内容的提问来源于stack exchange,提问作者ctenar
相关产品推荐
相关产品推荐

