资讯专栏INFORMATION COLUMN

这是一份儿PHPer需要的远程开发环境(不依赖Windows,拥抱Linux)!

邹立鹏 / 3580人阅读

摘要:一般情况,开发者多使用系统,等软件让我们离不开,但是,但是多数开发者更倾向于在上部署环境。那么这一份教程就诞生了。选择新建远程服务器填写项目名,选择,填写服务器用户名密码以及远程项目所在的路径。配置,输入远程服务器的和端口,填写为。

一般情况,开发者多使用Windows系统,PHPStorm、VSCode等软件让我们离不开Windows,但是,但是多数开发者更倾向于在Linux上部署环境。那么这一份教程就诞生了。(MacOS用户可以绕行)
工具

PHPStorm

Ubuntu 16.04

准备工作

在Windows系统上安装PHPStorm和VM虚拟机,在虚拟机中安装Ubuntu系统。

在Ubuntu安装lnmp(Linux+Nginx+MySQL+PHP)集成环境

wget http://soft.vpser.net/lnmp/lnmp1.6.tar.gz -cO lnmp1.6.tar.gz && tar zxf lnmp1.6.tar.gz && cd lnmp1.6 && ./install.sh lnmp
远程部署代码

打开PHPStorm,选择Create New Project from Existing Files

选择从远程服务器ftp同步项目

输入项目名,并选择要同步到本地的项目路径

自动上传操作选择如下,当你Ctrl+S时,PHPStorm会帮你上传当前修改的文件到服务器。这样会相当方便。

选择新建远程服务器

填写项目名,Type选择SFTP,填写服务器IP、用户名、密码以及远程项目所在的路径。

//linux下查看ip命令(不是Windows的ipconfig)
ghost@ghost-virtual-machine:~$ ifconfig

直接点finish,PHPStorm会自动同步远程服务器的代码。

远程debug 安装xdebug扩展

下载、编译xdebug

wget http://www.xdebug.org/files/xdebug-2.2.3.tgz
tar xzf xdebug-2.2.3.tgz
cd xdebug-2.2.3
/usr/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make
make install

查看php安装路径下的lib 库目录是否生成了xdebug.so文件。(我的目录:/usr/local/php/lib/php/extensions/xdebug.so)

然后配置/usr/local/php/etc/php.ini文件,需要注意的是xdebug是zend扩展,zend_extension= "xdebug.so",而不是extension= "xdebug.so"

[xdebug]
zend_extension= "xdebug.so"

xdebug.profiler_enable = on
xdebug.default_enable = on
xdebug.trace_output_dir="/tmp/xdebug"
xdebug.trace_output_name = trace.%c.%p
xdebug.profiler_output_dir="/tmp/xdebug"
xdebug.profiler_output_name="cachegrind.out.%s"

xdebug.remote_enable =1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = 10.0.100.236 //本机的ip,不是虚拟机或者远程服务器的ip
xdebug.remote_mode = "req"
xdebug.remote_port = 9001

如果不知道本机的ip或本机为动态ip,需要加入xdebug.remote_connect_back,将其设置为1,此时xdebug.remote_host会失效。

PHPStorm中配置xdebug

首先,设置端口,此端口要与上文配置xdebug.remote_port保持一致。

配置远程服务器,勾选Use path mappings,将本地文件与服务器文件相映射。

配置DBGP Proxy,输入远程服务器的ip和端口,IDE key填写为PHPSTORM

添加debug配置,选择刚刚创建的Server

选中debug配置,在代码中打断,点击小虫子开始调试。

PS:如果使用虚拟机中Linux,想要在本机通过浏览器访问虚拟机中的项目,需要在Nginx中将项目ip设置为虚拟机的ip,而不是127.0.0.1。如果多个项目怎么办呢?IP相同,用不同的端口号区别不同的项目。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/40523.html

相关文章

  • Swoft 新手向教程 - 通过 Docker 搭建开发环境

    摘要:前言是一个在之上构建的一个高性能协程全栈框架,而在里面是一个高级技能,所以在相关的环境安装上也给许多人造成了很大的困扰,更是如此,本文将通过以一种极其简单的方式解决运行环境和开发环境的部署。 showImg(https://segmentfault.com/img/bVbeknK?w=512&h=197); 本系列文章将从使用层面介绍 Swoft 框架的使用及业务开发,面向初中级的 P...

    tinysun1234 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<