Ubuntu环境下PHP项目文件管理指南
在管理PHP项目文件前,需确保Ubuntu系统已安装PHP运行环境(包括Web服务器、PHP核心及扩展)。推荐使用LAMP(Linux+Apache+MySQL+PHP)组合,通过以下命令快速安装:
sudo apt update
sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql
安装完成后,通过php -v验证PHP版本,systemctl status apache2确认Apache服务运行状态。
建议将PHP项目存放在/var/www/(Web服务器默认根目录),以项目名称命名子目录(如my_project):
sudo mkdir -p /var/www/my_project
为确保Apache(运行用户为www-data)能正常访问项目文件,需调整目录所有权与权限:
sudo chown -R www-data:www-data /var/www/my_project  # 将所有者设为www-data用户组
sudo chmod -R 755 /var/www/my_project               # 允许所有者读写执行,其他用户读执行
注意:755权限适用于目录,若项目包含上传文件等需写入的目录(如uploads/),需单独设置为775。
使用Git跟踪项目文件变更,避免手动管理混乱。操作步骤如下:
sudo apt install git
git init创建本地仓库。git remote add origin https://github.com/username/my_project.git
git add .                  # 添加所有文件到暂存区
git commit -m "Initial commit"  # 提交本地仓库
git push -u origin main    # 推送至远程仓库
提示:敏感信息(如数据库密码)需通过.gitignore文件排除,避免泄露。
为了让浏览器访问项目,需配置Apache虚拟主机:
sudo nano /etc/apache2/sites-available/my_project.conf
<VirtualHost *:80>
    ServerAdmin webmaster@localhost
    ServerName my_project.local
    ServerAlias www.my_project.local
    DocumentRoot /var/www/my_project/public  # 公共访问目录(需创建)
    
    <Directory /var/www/my_project/public>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All      # 允许.htaccess覆盖配置
        Require all granted    # 允许所有用户访问
    </Directory>
    
    ErrorLog ${APACHE_LOG_DIR}/my_project_error.log
    CustomLog ${APACHE_LOG_DIR}/my_project_access.log combined
</VirtualHost>
sudo a2ensite my_project.conf  # 启用虚拟主机
sudo systemctl restart apache2 # 重启服务
/etc/hosts,添加127.0.0.1 my_project.local,实现本地域名解析。使用Composer管理PHP依赖(如Laravel、Symfony等框架或第三方库):
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
composer.json:
在项目根目录运行composer init,按提示填写项目信息(如名称、依赖)。composer install
vendor/目录。scp(上传)、rsync(同步)快速传输文件,例如:scp -r local_project/ user@server_ip:/var/www/  # 上传本地项目到服务器
rsync -avz /local/path/ user@server_ip:/remote/path/  # 同步文件(保留权限)
.env文件(需添加至.gitignore),而非代码中。app/放核心代码、public/放静态资源),提高可维护性(参考)。tar或rsync定期备份项目文件与数据库,防止数据丢失。