我的博客同步文章 https://mr-houzi.com/2019/10/...
通常狀況,開發者多使用Windows系統,PHPStorm、VSCode等軟件讓咱們離不開Windows,可是,可是多數開發者更傾向於在Linux上部署環境。那麼這一份教程就誕生了。(MacOS用戶能夠繞行)
在Windows系統上安裝PHPStorm和VM虛擬機,在虛擬機中安裝Ubuntu系統。php
在Ubuntu安裝lnmp(Linux+Nginx+MySQL+PHP)集成環境linux
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同步項目服務器
輸入項目名,並選擇要同步到本地的項目路徑app
自動上傳操做選擇以下,當你Ctrl+S時,PHPStorm會幫你上傳當前修改的文件到服務器。這樣會至關方便。工具
選擇新建遠程服務器spa
填寫項目名,Type
選擇SFTP
,填寫服務器IP、用戶名、密碼以及遠程項目所在的路徑。.net
//linux下查看ip命令(不是Windows的ipconfig) ghost@ghost-virtual-machine:~$ ifconfig
直接點finish,PHPStorm會自動同步遠程服務器的代碼。debug
下載、編譯xdebug3d
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
會失效。
首先,設置端口,此端口要與上文配置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相同,用不一樣的端口號區別不一樣的項目。