Ubuntu 本身完全可以运行 ThinkPHP,几乎所有 ThinkPHP 项目都是部署在 Ubuntu / CentOS / Debian 等 Linux 系统上的。所谓的“无法运行”,通常是环境或配置问题,而不是系统不支持。
下面按常见原因 → 解决方法给你梳理一遍。
ThinkPHP 对 PHP 版本有要求(如 TP6 需要 PHP ≥ 7.1,TP8 需要 PHP ≥ 8.0)
检查:
php -v
如果没装:
sudo apt update
sudo apt install php php-cli php-fpm php-mysql php-xml php-mbstring php-curl php-zip
Ubuntu 不会自动帮你起 Web 服务
sudo apt install nginx
sudo systemctl start nginx
sudo apt install apache2
sudo systemctl start apache2
ThinkPHP 需要写:
runtime/storage/错误表现:
解决:
sudo chown -R www-data:www-data /var/www/your_project
sudo chmod -R 755 /var/www/your_project
sudo chmod -R 777 /var/www/your_project/runtime
(www-data 是 Nginx/Apache 用户)
ThinkPHP 依赖 rewrite
location / {
try_files $uri $uri/ /index.php?$query_string;
}
改完:
sudo nginx -t
sudo systemctl reload nginx
ThinkPHP 基本都用 Composer 安装
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
sudo mv composer.phar /usr/local/bin/composer
| 现象 | 原因 |
|---|---|
| 空白页 | PHP 错误被关闭 |
| 500 | 权限 / rewrite |
| 404 | 没配置 index.php |
| 打不开 | Nginx 没启动 |
| 页面源码显示 | PHP 没解析 |
cd /var/www
composer create-project topthink/think test
cd test
php think run
浏览器访问:
http://localhost:8000
✅ 能打开 = Ubuntu 没问题,是你部署方式的问题
php -v 是否正常nginx -t 是否通过index.php 是否 500tail -f /var/log/nginx/error.log
tail -f /var/www/项目/runtime/log/*
你可以把下面任意一个发我:
php -v我可以直接告诉你是哪一步错了,怎么改。