Ubuntu 下 PHP 学习与进阶路线
一 学习路径总览
二 Ubuntu 环境搭建与验证
sudo apt update && apt search phpphp -vsudo apt install apache2 php libapache2-mod-php php-cli php-mysqlsudo systemctl restart apache2 && sudo systemctl enable apache2/var/www/html/info.php,内容为 <?php phpinfo(); ?>,访问 http://your_server_ip/info.phpsudo apt install nginx php-fpm php-cli php-mysqlserver {
listen 80 default_server;
root /var/www/html;
index index.php index.html;
location / { try_files $uri $uri/ =404; }
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
sudo systemctl restart nginxinfo.phpsudo apt install php-curl php-gd php-mbstring php-xml php-zip php-bcmath php-jsonsudo ufw allow 'Apache Full'(或 'Nginx Full'),使用 Certbot 申请免费证书。三 从零到一的小项目实战
CREATE DATABASE todo CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE todo;
CREATE TABLE tasks (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255) NOT NULL,
completed TINYINT(1) NOT NULL DEFAULT 0,
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);
<?php
$pdo = new PDO('mysql:host=localhost;dbname=todo;charset=utf8mb4', 'root', 'your_password', [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
]);
// 新增
$stmt = $pdo->prepare('INSERT INTO tasks(title, completed) VALUES (?, ?)');
$stmt->execute([$_POST['title'] ?? '', 0]);
// 列表
$stmt = $pdo->query('SELECT * FROM tasks ORDER BY id DESC');
$tasks = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>
$_SESSION 管理,登录后才能增删改。htmlspecialchars),使用 PDO 预处理 杜绝 SQL 注入。info.php 确认环境正常,再访问应用首页与接口。四 进阶主题与最佳实践
php.ini 中设置 opcache.enable=1,生产环境推荐 opcache.validate_timestamps=0 并配合部署流程刷新。五 学习资源与工具清单