在 CentOS 系统中,要实现 PHP 跨域访问,可以通过修改 PHP 配置文件或者使用 Apache/Nginx 服务器配置来实现。下面分别介绍这两种方法。
方法一:修改 PHP 配置文件
php.ini
。通常位于 /etc/php.ini
或 /etc/php/7.x/apache2/php.ini
(其中 7.x 是 PHP 版本号)。sudo vi /etc/php.ini
php.ini
文件中找到以下两行:;headers.allowed_headers = "Content-Type, X-Requested-With, Accept, Origin, Authorization"
;access.control_allow_origin = "*"
access.control_allow_origin
的值设置为 *
,表示允许所有域名访问。如果需要限制特定域名访问,可以将其替换为相应的域名,例如:headers.allowed_headers = "Content-Type, X-Requested-With, Accept, Origin, Authorization"
access.control_allow_origin = "http://example.com"
保存并关闭 php.ini
文件。
重启 Apache 或 PHP-FPM 服务使更改生效:
sudo systemctl restart httpd
或者
sudo systemctl restart php-fpm
方法二:使用 Apache/Nginx 服务器配置
如果你使用的是 Apache 服务器,可以通过修改 .htaccess
文件来实现跨域访问。
在你的项目根目录下创建或编辑 .htaccess
文件。
添加以下内容:
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, X-Requested-With, Accept, Origin, Authorization"
.htaccess
文件。如果你使用的是 Nginx 服务器,可以通过修改 Nginx 配置文件来实现跨域访问。
打开 Nginx 配置文件,通常位于 /etc/nginx/nginx.conf
或 /etc/nginx/sites-available/your_domain.conf
。
在 server
块中添加以下内容:
location / {
add_header 'Access-Control-Allow-Origin' '*' always;
add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS' always;
add_header 'Access-Control-Allow-Headers' 'Content-Type, X-Requested-With, Accept, Origin, Authorization' always;
}
保存并关闭 Nginx 配置文件。
重启 Nginx 服务使更改生效:
sudo systemctl restart nginx
现在,你的 PHP 应用应该可以实现跨域访问了。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>