如何在Ubuntu上使用PHPStorm进行远程开发
在Ubuntu上使用PHPStorm远程开发,核心是通过SSH连接实现代码同步、远程PHP解释器配置及调试工具集成,以下是详细步骤:
安装SSH服务器
远程开发需通过SSH协议传输文件和命令,在Ubuntu终端执行以下命令安装并启动SSH服务:
sudo apt update
sudo apt install openssh-server
sudo systemctl restart sshd
确保/etc/ssh/sshd_config中PasswordAuthentication yes(允许密码登录)或配置SSH密钥认证(更安全)。
创建项目目录并设置权限
在远程服务器上创建用于存放项目的目录(如/var/www/html/my_project),并修改所属用户及权限:
sudo mkdir -p /var/www/html/my_project
sudo chown -R $USER:$USER /var/www/html/my_project # 替换$USER为你的Ubuntu用户名
sudo chmod -R 755 /var/www/html/my_project
安装PHP环境
若未安装PHP,通过以下命令安装(以Ubuntu 22.04为例):
sudo apt install php php-cli php-mbstring php-xml php-curl
验证安装:php -v(显示PHP版本即成功)。
远程解释器确保PHPStorm能识别远程服务器的PHP版本及扩展:
File > Settings > Languages & Frameworks > PHP。CLI Interpreter右侧的...,选择Add。SSH Interpreter,输入远程服务器的IP地址/域名、用户名(如ubuntu),选择认证方式(密码或SSH密钥)。Interpreter栏填写远程PHP路径(通常为/usr/bin/php,可通过which php命令获取),点击Test Connection验证连接。OK保存,此时PHPStorm会同步远程PHP的扩展(如Xdebug)。通过SFTP协议实现本地项目与远程服务器的文件双向同步:
File > Settings > Build, Execution, Deployment > Deployment,点击+选择SFTP。Connection标签页,填写远程服务器的IP地址、端口(默认22)、用户名,选择认证方式(密码或密钥)。Test SFTP connection验证连接,成功后进入Mappings标签页:
Local path:选择本地项目目录(如~/projects/my_project);Deployment path on server:填写远程项目目录相对于服务器根目录的路径(如/var/www/html/my_project)。Excluded Paths标签页,排除无需同步的文件(如node_modules、.idea)。若需通过本地浏览器访问远程服务器的项目,可配置PHP内置Web服务器或Nginx/Apache:
cd /var/www/html/my_project
php -S localhost:8000
然后在PHPStorm的Run > Edit Configurations中添加PHP Built-in Web Server,设置Document root为远程项目目录,Port为8000,即可通过http://localhost:8000访问。sudo apt install nginx),配置server块指向远程项目目录(如root /var/www/html/my_project;),重启Nginx(sudo systemctl restart nginx)。若需远程调试(如断点调试),需配置Xdebug:
远程服务器安装Xdebug
通过PECL安装Xdebug:
sudo pecl install xdebug
在/etc/php/8.1/cli/php.ini(根据PHP版本调整)中添加以下配置:
[xdebug]
zend_extension=xdebug.so
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=<你的本地IP地址> # 替换为运行PHPStorm的电脑IP
xdebug.remote_port=9003 # 避免与内置服务器端口冲突
xdebug.idekey=PHPSTORM
xdebug.remote_autostart=1 # 自动启动调试
重启PHP服务:sudo systemctl restart php8.1-fpm(或apache2/nginx)。
PHPStorm配置Xdebug
File > Settings > Languages & Frameworks > PHP > Debug,确保Debug port与xdebug.remote_port一致(如9003)。DBGp Proxy标签页,设置IDE key为PHPSTORM,Host为<你的本地IP>,Port为9003。Run > Edit Configurations中添加PHP Remote Debug,选择之前配置的Server(如my_project),保存。开始调试
在PHPStorm中打开项目,点击顶部工具栏的Start Listening for PHP Debug Connections(虫子图标),然后在代码中设置断点,通过浏览器访问远程项目(如http://localhost:8000),触发断点即可调试。
Deployment→Upload to [服务器名称](上传本地更改);或Download from [服务器名称](下载远程更改)。Deployment配置的Mappings标签页,勾选Automatic Upload (always upload changed files upon save),保存文件时自动同步。Run > Edit Configurations添加PHP Built-in Web Server或PHP Web Page,选择远程服务器配置,点击Run即可启动项目。通过以上步骤,即可在Ubuntu上使用PHPStorm实现远程开发,覆盖代码编辑、同步、调试全流程。配置过程中需注意权限(避免目录无法访问)、端口冲突(如Xdebug端口与内置服务器端口重复)及防火墙设置(允许SSH、HTTP、调试端口通信)。