PhpStorm在CentOS上的项目结构设置指南
在配置项目结构前,需确保CentOS系统已安装以下基础软件:
sudo yum install java-1.8.0-openjdk-devel安装OpenJDK 8,安装后用java -version验证是否成功。php-cli、php-mysqlnd、php-gd等),推荐使用Remi源安装较新版本(如PHP 7.3/7.4)。curl -sS https://getcomposer.org/installer | php安装,生成composer.json文件。/var/www/html/your_project或/usr/php/your_project),避免使用root用户直接操作,建议创建专用用户(如www-data)并赋予权限。sudo chown -R www-data:www-data /var/www/html/your_project # 将所有者设为www-data用户
sudo chmod -R 755 /var/www/html/your_project # 允许所有者读写执行,其他用户读执行
/your_project
├── app/ # 应用核心代码(控制器、模型、视图)
│ ├── Controllers/ # 控制器目录
│ ├── Models/ # 模型目录
│ └── Views/ # 视图模板目录
├── public/ # Web入口目录(需指向Nginx/Apache的root)
│ ├── index.php # 入口文件
│ ├── assets/ # 静态资源(CSS/JS/图片)
│ └── .htaccess # Apache重写规则(可选)
├── vendor/ # Composer依赖目录(自动生成)
├── config/ # 配置文件(数据库、环境变量等)
├── storage/ # 日志、缓存等存储目录
├── composer.json # 依赖管理文件
└── README.md # 项目说明文档
File > Open,浏览至CentOS上的项目目录(如/var/www/html/your_project),点击OK即可导入。File > Settings > Languages & Frameworks > PHP,点击CLI Interpreter右侧的+号,选择Existing,然后浏览至CentOS上的PHP可执行文件(通常为/usr/bin/php),点击OK保存。Settings > Languages & Frameworks > PHP > Servers中,点击+号添加新服务器,填写以下信息:
CentOS-Local);192.168.1.100);80);Xdebug并配置端口(默认9003);/path/to/local/your_project)映射到服务器上的项目目录(如/var/www/html/your_project)。Test Connection验证连接是否成功。sudo yum install php-xdebug),编辑/etc/php.d/15-xdebug.ini文件,添加以下配置:zend_extension=/usr/lib64/php/modules/xdebug.so
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=192.168.1.100 # 本地电脑IP
xdebug.client_port=9003
xdebug.idekey=PHPSTORM
重启PHP-FPM(sudo systemctl restart php-fpm)后,在PhpStorm中开启监听(Run > Start Listening for PHP Debug Connections)即可调试。Tools > Deployment > Configuration,点击+号添加新部署配置,选择SFTP,填写服务器信息(IP、用户名、密码/密钥),然后设置Mappings(本地与服务器目录映射),勾选Automatic Upload实现保存时自动同步。View > Tool Windows > Database,点击+号选择数据库类型(如MySQL),填写连接信息(主机、端口、用户名、密码),点击Test Connection验证成功后,即可通过PhpStorm管理数据库。chmod -R 755 /path/to/project调整权限,或使用chown -R www-data:www-data /path/to/project修改所有者。sudo firewall-cmd --add-port=9003/tcp --permanent),并重启防火墙(sudo firewall-cmd --reload)。