发布于2026-07-12 阅读(0)
扫一扫,手机访问
在 CentOS 上部署 PHP 框架,是后端开发中绕不开的实操环节。无论你偏爱 Lara vel 的优雅、Symfony 的严谨,还是 ThinkPHP 的轻巧,底层的部署逻辑其实高度一致。下面先梳理一套通用流程,再以 ThinkPHP 为例,分别演示 Nginx 和 Apache 下的具体配置,最后补充一些跨框架的实用建议。

从零搭建一套可用的框架环境,大致需要走完以下七个环节:
下面以 ThinkPHP 为例,把细节落实到具体命令和配置上。
sudo yum install -y epel-release nginxsudo yum install -y https://rpms.remirepo.net/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi-php74
sudo yum install -y php php-fpm php-mysqlnd php-gd php-curl php-xml php-mbstring php-zipsudo systemctl start nginx php-fpm
sudo systemctl enable nginx php-fpm/etc/nginx/conf.d/php.conf。your_domain.com 和 /path/to/php 替换为实际值):server {
listen 80;
server_name your_domain.com;
root /path/to/php/public; # 建议指向 public 目录
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}sudo nginx -t && sudo systemctl reload nginx/path/to/php,确保入口文件为 public/index.php。cd /path/to/php && composer installCREATE DATABASE your_db CHARACTER SET utf8mb4;
CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_pass';
GRANT ALL PRIVILEGES ON your_db.* TO 'your_user'@'localhost';
FLUSH PRIVILEGES;.env 或 config/database.php,配置 DB_HOST、DB_NAME、DB_USER、DB_PASS、DB_PORT。sudo chown -R nginx:nginx /path/to/php
sudo find /path/to/php -type d -exec chmod 755 {} \;
sudo find /path/to/php -type f -exec chmod 644 {} \;sudo restorecon -R /path/to/php
# 或按需设置 httpd 可写目录(如 runtime、日志):
sudo setsebool -P httpd_can_network_connect_db 1
sudo semanage fcontext -a -t httpd_sys_rw_content_t "/path/to/php/runtime(/.*)?"
sudo restorecon -R /path/to/php/runtimesudo yum install -y httpdsudo a2enmod rewrite(或确保 httpd.conf 中 LoadModule rewrite_module 已启用)sudo systemctl start httpd && sudo systemctl enable httpd/etc/httpd/conf.d/php.conf 中添加如下配置:
ServerName your_domain.com
DocumentRoot /path/to/php/public
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
ErrorLog /var/log/httpd/php_error.log
CustomLog /var/log/httpd/php_access.log combined
sudo systemctl reload httpdcomposer create-project lara vel/lara vel my-appcomposer create-project symfony/framework-standard-edition my-appcomposer create-project topthink tpcomposer create-project zendframework/skeleton-application my-appcomposer create-project fuel/fuel my-apppublic/ 文件夹,并启用 URL 重写(Lara vel/Symfony 需隐藏 index.php)。上一篇:CentOS中PHP代码如何优化
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8