下面按最常见场景(Ubuntu + Nginx/Apache + PHP + ThinkPHP 6/8)给你一套从零到可访问的配置步骤。如果你用的是 ThinkPHP 5,我也会在关键处说明差异。
sudo apt update
sudo apt upgrade -y
sudo apt install php php-cli php-fpm php-mysql php-mbstring php-xml php-curl php-zip -y
查看版本:
php -v
sudo apt install nginx -y
sudo apt install apache2 libapache2-mod-php -y
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
composer -v
cd /var/www
composer create-project topthink/think tpapp
ThinkPHP 8:
composer create-project topthink/think tp8app
sudo chown -R www-data:www-data /var/www/tpapp
sudo chmod -R 755 /var/www/tpapp
sudo chmod -R 777 /var/www/tpapp/runtime
sudo nano /etc/nginx/sites-available/tpapp
server {
listen 80;
server_name localhost; # 可改为你的域名
root /var/www/tpapp/public;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.1-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
sudo ln -s /etc/nginx/sites-available/tpapp /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
sudo a2enmod rewrite
sudo nano /etc/apache2/sites-available/000-default.conf
DocumentRoot /var/www/tpapp/public
<Directory /var/www/tpapp/public>
AllowOverride All
Require all granted
</Directory>
sudo systemctl restart apache2
/var/www/tpapp/config/database.php
示例(MySQL):
return [
'default' => 'mysql',
'connections' => [
'mysql' => [
'type' => 'mysql',
'hostname' => '127.0.0.1',
'database' => 'test',
'username' => 'root',
'password' => 'password',
'hostport' => '3306',
'charset' => 'utf8mb4',
],
],
];
浏览器访问:
http://服务器IP
看到 ThinkPHP 欢迎页面 即成功 ✅
sudo chmod -R 777 runtime
try_filesAllowOverride Allpublic/index.php如果你愿意,可以告诉我:
我可以直接给你一份可直接用的配置文件。