PHP在Linux中如何实现跨域请求
Linux中PHP跨域请求有三类方法:header()函数、Apache的.htaccess或Nginx的add_header。需处理OPTIONS预检请求,将Access-Control-Allow-Origin设为具体源而非通配符,确保安全。
在Linux环境下用PHP处理跨域请求,其实是个很常见的场景。尤其当你的前端应用和后端API部署在不同的域名或端口上时,浏览器就会因为同源策略而拦截请求。那么,怎么让PHP乖乖“放行”呢?下面几种方法,都是业内常用的套路。

方法一:直接用PHP的header()函数设置响应头
这是最直接的方式——在PHP脚本中通过header()函数动态输出跨域相关的HTTP头。简单几行就能搞定,适合那些没有全局配置权限、或者只需要在特定接口中开放跨域的场景。
'Hello, World!']);
?>
这里有个关键点:如果你用了*表示允许所有源,那在生产环境就得掂量一下——毕竟安全不是儿戏。另外,浏览器在发送某些复杂请求(比如带了自定义头)之前,会先发一个OPTIONS预检请求,上面那段代码里的判断就是专门处理这个的,别漏了。
方法二:通过Apache的.htaccess文件配置
如果你用的是Apache服务器,而且希望整个项目的请求都自动带上跨域头,那直接在项目根目录下创建或编辑.htaccess文件会更省事。不需要改动任何PHP代码,服务器层面就搞定了。
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "GET, POST, PUT, DELETE, OPTIONS"
Header set Access-Control-Allow-Headers "Content-Type, Authorization"
注意前提:你得确保Apache启用了mod_headers模块。没启用的话,这些配置不会生效。
方法三:使用Nginx服务器配置
如果你更偏爱Nginx,那就在配置文件的location块里添加相应的add_header指令。Nginx的配置写法跟Apache略有不同,但思路一样——让服务器在响应中追加跨域头。
server {
listen 80;
server_name example.com;
location / {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization';
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'Content-Type, Authorization';
add_header 'Content-Length' 0;
add_header 'Content-Type' 'text/plain charset=UTF-8';
return 204;
}
# 你的业务逻辑代码
echo json_encode(['message' => 'Hello, World!']);
}
}
这里同样需要处理OPTIONS预检请求,Nginx里用if判断请求方法,返回204状态码,同时把需要跨域的头都带上。
注意事项
- 安全性:不管用哪种方法,都建议把
Access-Control-Allow-Origin设置为具体的源(比如https://your-frontend.com),而不是通配符*。毕竟,没人希望自己的API被随便哪个网站拿来用。 - 预检请求:前面反复提过——对于携带自定义头、或者使用PUT/DELETE等方法的情况,浏览器会先发一个
OPTIONS请求。如果后端不处理这个预检请求,真正的跨域请求就会被浏览器拦下。
总结一下:在Linux环境下,用PHP实现跨域请求无非就是这三种主流思路——代码级控制、Apache配置、Nginx配置。选哪种取决于你的服务器环境和项目需求。顺手把预检请求处理了,再把源限制好,基本就没啥大问题了。
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















