Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 日韩中文字幕高清在线专区,正在播放露脸一区,日韩免费观看

          整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          PhpStorm配置less自動編譯css

          PhpStorm配置less自動編譯css

          PhpStorm配置less自動編譯css



          PhpStorm配置less自動編譯css

          Less 是一門 CSS 預處理語言,它擴展了 CSS 語言,增加了變量、Mixin、函數等特性,使 CSS 更易維護和擴展。作為 CSS 的一種擴展,Less 不僅完全兼容 CSS 語法,而且連新增的特性也是使用 CSS 語法。這樣的設計使得學習 Less 很輕松,而且你可以在任何時候回退到 CSS...

          less中文網:less中文網

          nodejs下載:nodejs

          less使用可作為參考;

          phpstorm配置支持less需要使用npm命令;

          需要安裝nodejs

          本文在windows和mac下進行測試;

          第一步:安裝nodejs

          點此nodejs下載,找到自己對應的版本;

          點擊下載;

          按照提示一步一步安裝即可;

          第二步:npm安裝less

          在終端運行:

          ps:以上命令操作你都可以在less中文網中找得到

          然后重啟編輯器;

          如果不能正常運行以下步驟,那就重啟電腦;

          第三步:修改phpstorm配置

          windows打開設置【setting】

          mac找到首選項【Preferences】

          打開之后,在左上角搜索框輸入:file Watchers

          new watcher對話框

          之后會彈出new watcher對話框

          點擊ok

          再點ok,把對話框全點沒了;

          然后你就可以新建文件index.less進行測試

          如果新建文件上部彈出提示消息;

          那就點擊Add watcher添加監聽;

          每次書寫,ctrl+s保存會自動編譯css

          【本文來自 武斌博客 http://www.wubin.pro,為超人原創文章,想獲取更好的頁面瀏覽效果或者有任何問題請進入博客,同時也可在博主評論區進行留言,讓博主為大家答疑解惑~】

          果你說PHP編程用基礎的文本編輯軟件就可以了,比如用記事本。是的,這對于業余愛好者來說絕對可以。但選擇一款功能豐富而完整的開發軟件還是要好一些,尤其是專業開發者更有必要。這些軟件如:NetBeans, PHPStorm, VIM, Zend Studio, Cloud9或Atom。

          好的開發工具富有特點而且能夠幫助開發者快速高效地編輯程序,它是開發者的基本需求,磨刀不誤砍柴工,提前花點時間選擇一款適合的開發軟件是為上策。

          那選擇哪一款呢, 這個問題要看你的需求、偏好和預算。 選定一款之前試用幾個也不錯。

          大量PHP開發軟件支持跨平臺系統,能用于Windows,Linux和Mac,而且提供免費下載。 對于初學者,我的建議是,你可以隨意選擇一款免費的,可用就行。 比如:NetBeans,VIM,Atom或Eclipse PDT。

          企業和專業開發者可以用這些免費的開發軟件完成程序編輯,但同時也有很多收費的平臺因為整合了很多最新和更進步的功能特性而備受企業開發者的青睞。隨便舉幾個,比如:PHPStorm, Sublime Text, Zend Studio, Nusphere, PHPED, PHP Designer和 Cloud 9等。

          假如你只是想用PHP做簡單的應用而非構架一整個系統,那么你也可以試一試那些線上的PHP開發工具,比如說PHPfiddle.com。 更簡單的你可以選用witephponline.com和ideone.com。

          好了,那讓我們來看一下被全世界開發者們公認的10個優秀的開發工具吧。它們功能豐富,廣為流傳,最為先進而且備受喜愛。

          1. NetBeans - 最好的PHP IDE (免費版本)

          NetBeans是供普通大眾使用的PHP IDE,它功能豐富、免費并且支持多國語言,其中包括英語、日語、俄語、巴西葡萄牙語以及簡體中文。NetBeans的免費版本的發布日期要回溯到2010年,Sun Microsystems開始將其作為開源項目發展,后來Sun Microsystems成為了Oracle的子公司。

          自發布以來,NetBeans的下載次數已超過1800萬次,同時擁有一個最大的致力于開源集成開發環境的開發者社區。

          過去,NetBeans的用途很少,只能進行Java開發,但現在,這樣的日子一去不復返了,NetBeans目前的穩定版是輕量級的、速度更快并且全面支持PHP。對于像Zend、Doctrine、 Smarty和Symfony2一類的流行PHP框架以及像Yii、CakePHP、 FuelPHP和Wordpress CMS一類的其它框架提供了開箱即用的支持,也通過laravel-ide-helper提供了對Laravel框架的開箱即用支持。

          讓NetBeans位居榜首的關鍵特性是擁有很多代碼生成工具,像getter setter生成、代碼模板、智能代碼補全、提示、快速修復和重構等。另外還支持一些基本特性,包括代碼折疊和格式化、try/catch代碼補全以及矩形選區等。

          當進入調試階段時,你可以在本地或者遠程使用命令行或者xDebug。NetBeans PHP編輯器對包括 javascript、HTML和CSS等web開發都提供了開箱即用的支持。所有這些特性輕而易舉地使得NetBeans成為最好的開源PHP IDE。

          閱讀更多有關NetBeans的內容請訪問官方網站netbeans.org。

          2. PHPStorm- 最好的PHP IDE (商業版本)

          PHPStorm 是全功能的PHP IDE,其擁有最現代化的功能集可以快速便捷的進行網頁開發。它由名叫JetBrains的公司開發并銷售。 在過去的15年中,在開發工具的市場中JetBrains是最受人喜愛的公司,它使得編寫代碼更加的輕松和愉快。

          PHPStorm 很好的支持主要的框架比如Symfony, Zend Framework, Yii, CakePHP, Laravel以及主要的CMS系統如Drupal, Magento 和Wordpress。

          不是所有的Web開發項目都沒有前端技術,這也正是PHPStorm耀眼之處, 它幾乎提供了所有前端技術的實時編輯功能比如CSS, Sass, HTML5, CoffeeScript, TypeScript, JavaScript, Stylus, Less等等。同時還支持代碼重構,調試和單元測試。

          從發工具方面來說,它提供了版本控制系統,sql數據庫,composer, 遠程部署,vagrant,其他的客戶端,命令行工具等諸如此類的功能。

          從調試的角度來說,它支持Zend Debugger和Xdebug,也同時支持本地的或遠程的。

          PHPStorm是企業級IDE, 需要授權費用,主要的目標是專業的開發人員,但是它同時為教師,學生或開源的項目免費提供。

          PHPStorm的普及程度可以從一個事實來衡量,就是眾多的大公司如Expedia,Yahoo, Cisco, Salesforce 和wikipedia都曾有購買過PHPStorm IDE的授權。

          你可以在以下地址下載PHPStorm試用版 (免費30天) – Download PHPStorm trial version.

          你想了解更多的PHPStom請登錄官網 – jetbrains.com/phpstorm.

          3. Sublime Text 3 / PHP IDE

          Sublime Text 3 是我最喜歡的一個,也是候選的最強文本編輯器。它輕量級,擁有豐富的特性,還支持在Windows,OSX 和 Linux 上運行。 Sublime text 編輯器變得強大是通過插件和包來實現的。

          有許多 PHP 的外部包可以使用,這些包可以幫助這個優雅的編輯器變成一個優雅的 Sublime PHP IDE。為了實現這個目的需要一些有用的包和一些著名的包——package control,Sublime PHP companion, xDebug client——CodeBug, PHPCS, CodIntel, Simple PHPUnit 和 PHPDoc。

          一旦你安裝 sublime text 3 作為 PHP IDE ,它會幫助你添加包,你獲得的 sublime text 是優雅的,在這里它讓你的 PHP 變得強有力,它對于 PHP 開發絕對好用。

          關于 Sublime Text,你可以在這里(sublimetext.com)讀到更多。

          4. Eclipse PDT

          Eclipse PDT (PHP Development Tools)是另一款無需任何花費的開源選擇。 Eclipse擁有一個龐大的開發者社區致力于開發各種各樣的插件,使Eclipse能夠具備任何一款如Storms PHP, NetBeans和Zend studio等頂級的開發IDE一樣功能。

          相比較與商業的IDE,剛開始時需要多做一些工作,但相較于你省下的錢一切都是值得的。與PHPStorm和Zend Studio相較,Eclipse PDT節省授權費是一個很大的優勢。如果你是傳統的Eclipse愛好者,使用Eclipse PDT會使你感覺很自在。

          有的人會說Eclipse會很慢,說實話如果你的系統配置很爛,商業化的產品相較于Eclipse會表現得更好。然而,現在基本的筆記本配置已經能夠讓Eclipse足夠快的運行而不拖你的后腿。

          一些關鍵的特性包括: 語法高亮(syntax highlighting), 代碼補齊(code assist), 代碼格式化(code formatter), 重構(refactoring), 代碼模版(code templates), 代碼導航(code navigation), php調試(php debugging), 語法檢查(syntax validation) 并且擁有一個龐大的社區的eclipse生態系統來支持它。

          開始使用時,你可以下載專用于PHP開發的Eclipse包,它包含了PHP語言支持,XML編輯器,Git客戶端和 Mylyn。

          軟件能夠在Mac OS X, Windows 和 Linux系統下下載并使用。你可以了解更多關于Eclipse PDT盡在- eclipse.org/pdt/。

          5. VIM

          VIM 是在GPL授權下,可以免費下載并使用的開源文本編輯器。它是最先進的文本編輯器之一并且在開發社區內非常的流行。Facebook的工程師在使用自己的Hack語言之前,一直都是使用VIM來編寫他們的PHP代碼。

          我們知道VIM作為一款優秀文本編輯器具有眾多的特性,但當你仔細的配置完成后,它提供了不亞于完全成熟的 PHP 開發環境以適用于你的PHP開發。

          如果你是只喜歡用鍵盤來工作的開發者, VIM就很適合你,它模塊化,輕量并且快速。

          要找一款 Linux下的PHP IDE,VIM 就是你要找的并且它的理念與Sublime Text 3相似, VIM也需要插件來轉化成像 PHPStorm 或Netbeans一樣的IDE, 最開始你需要花費大量的工作來配置大量的插件,但在最后成功后你會發現一切都是值得的。

          VIM顯然應該被算做是一款免費的PHP IDE。 你可以在 vim.org上了解更多!

          6. Zend Studio

          Zend Studio是另一款一流的由Zend公司開發的商用PHP IDE,其目標是成為專業的web開發工具。

          Zend公司提供了對PHP的全方位支持,其中任何一件產品都有助于使PHP開發變得輕而易舉,該公司擁有的客戶數量超過40000。其中一些重要客戶包括敦豪速遞公司、瑞士信貸、法國巴黎銀行和安捷倫科技公司。

          Windows、 OS X和Linux均提供了對Zend Studio的支持,并且兼容包括PHP7在內的最新PHP版本。Zend Studio的用戶界面很直觀,并且提供了大量的現代化功能和工具,通常有助于加速PHP和web的開發進程。其中一些關鍵功能包括-

          • 在驗證、索引和搜索PHP code方面性能更好。
          • 使用Zend Debugger、Xdebug和內置的Z-Ray工具進行調試。
          • 支持Eclipse插件生態系統。
          • 支持Docker和Git流。
          • 支持PHP、Javascript,、CSS和HTML的智能代碼編輯。
          • 部署支持,包括提供了對Microsoft Azure和Amazon AWS的云支持。
          • 集成了Zend server,有助于PHP7的快速遷移和無縫連接。

          Zend提供了一個有趣而且強大的功能,即支持在現有的PHP應用程序和服務器端進行移動app開發。當要對已有的網站和web app、mobile app進行補充開發時,這個功能就很有用。

          要閱讀更多有關Zend Studio的內容可訪問- Zend Studio for PHP。

          7. Atom

          Atom是由GitHub人員建立在MIT授權下的免費的現代化的文本編輯器。Atom在其巨大的社區內形成了自己的生態系統,并且擁有眾多可用的插件和包來擴展和定義它。

          Atom是真正可定制的,也就是說用它的可擴展性和高定制性你可以把它變成你夢想的編輯器。此外,它也是真正的跨平臺下的很好選擇,它同時支持Windows, OS X, Debian Linux (Ubuntu), Red Hat Linux and Fedora 22+。

          如何讓Atom變成免費的PHP IDE?

          當涉及到PHP時,有很多的可用包可以把Atom編輯器變成全功能的PHP IDE,它不僅僅是免費,更是一款不亞于很多的商業性的PHP IDE。

          把atom編輯器變成一款全功能的免費的PHP IDE所涉及到的包有:hyperclick-php, php-cs-fixer, php-integrator-base, linter-php, atom-autocomplete-php等等。這里僅舉幾個例子。你可以在Github上查看全部的所需清單 -> https://atom.io/packages/search?q=php

          想要了解更多請查看atom.io。

          8. NuSphere

          NuSphere是另一款致力于PHP開發工具的公司,它側重于網頁開發的體驗,PHPED是他們提供的IDE產品。

          這家公司位于美國內達華州里諾市,它的第一個PHPED的版本發布于PHP剛發展起來的2001年。

          而它的最新的版本IDE產品則支持PHP 7以及眾多的PHP框架,包括 Laravel, Yii, Symfony等。同時還支持內容管理系統(Content management systems)中的Joomla 和 Wordpress。其最新版增加的功能還有支持遠行本地和遠程項目的測試單元。

          總的來說,NuSphere的PHPED是一款全功能的網站開發工具,并包含了JavaScript調試, 帶有LESS的CSS預處理, HTML5,當然還有與PHP相關的所有內容。

          即便如此,我還是認為在商業領域Zend和PHPStorm比NuSphere更加的優雅,擁有更好的客戶支持,更好的文檔以及發布管理。

          要了解更多關于NuSphere請參考 - nusphere.com.

          CodeLobster

          有另一款物美價廉的產品叫做CodeLobster與NuSphere可以說是勢均力敵。在最近的更新中, CodeLobster走的很激進, 目前它幾乎支持了所有的PHP產品包括Twig templates, Drupal, Joomla, wordpress, Yii, Symfony, Laravel, AngularJs, jQuery, Phalcon, smarty, CodeIgniter, CakePHP 以及nodejs。

          要了解更多關于NuSphere請參考 - codelobster.com.

          9.PHP Designer

          PHP Designer是另一個好用的IDE,它能幫助我們加快web開發的工作流程,并提供了對PHP、JavaScript、CSS和HTML的內置支持。該PHP IDE僅供Windows用戶使用,如果你使用的是Mac、Linux這類的操作系統,就忽略它吧。

          要閱讀更多有關PHP Designer的內容可訪問PHP Designer。

          10.Cloud9-最好的PHP云IDE

          Cloud 9是一個支持幾乎所有編程語言的云IDE。在基于云的編程環境中,沒有任何一個云IDE能在功能和知名度方面和Cloud9相媲美。它提供了內置的PHP調試器,可用來進行實時的代碼檢查。

          開始時,你可以使用其免費版本,在該版本中,你能獲得一個免費的公共空間和免費的私有空間,如要進一步學習,就要購買一個Cloud9的商業版。

          要閱讀更過有關Cloud9的內容可訪問cloud9。

          結 論

          PHP是web開發所使用的最流行、最全面的編程語言,從一開始就有很多PHP IDE可以使用,發展到今天,程序設計方法和PHP IDE都有了翻天覆地的變化。

          本文中提到的大部分IDE都有各自不同的特點,但共同的目標是加快web開發的進度,并使得代碼可管理和可擴展。仔細看一看,文中列出了一些你的關鍵需求,你可以從中選擇最適合你的需求,肯定至少有一個優秀的Linux系統下的PHP IDE、Mac系統下的PHP IDE和Windows系統下的PHP IDE。

          通過你的評論,讓我們了解你在PHP編程中的體驗和適合你的最佳PHP IDE。

          驗樣本


          http://www.phpjiami.com/

          據說“加密效果同行最高”?

          到 http://www.phpjiami.com/phpjiami.html 隨意上傳一個 php 文件,然后下載加密后的文件,這就是我們要解密的文件。

          簡單分析一下


          先看看加密后的文件

          可以看出這是一個正常的 php 文件,只不過所有的變量名都是亂碼,還真虧了 php 引擎支持任意字符集的變量名,這個加密后的文件變量名的字節部都在 ASCII 范圍以外,全是 0x80以上的字符。

          我們看到中間有一個 php 代碼段結束標簽 ?>,而他的前面還有一個 return $xxx;來結束腳本運行,這說明結束標簽后面的數據都不會被正常輸出,后面極可能是源文件加密后的數據,而前面的 php 代碼只是用來解密的。

          調試之前的準備


          這里使用的 IDE 是 VSCode(最開始我使用的是 PHPStorm,后來我發現 VSCode的效果更好)。首先,安裝 PHP Debug 插件。

          然后,按照 https://xdebug.org/docs/install 的說明安裝 XDebug插件。

          注意:運行未知的 php 代碼還是很危險的,最好能在虛擬機上運行,真機上一定要保證你的 XDebugPHP Debug調試插件可以正常下斷點。斷開網絡。最好同時打開任務管理器,一旦發生未知現象(比如 CPU 占用率或磁盤占用率),或者調試斷點沒斷下來,或者出現某些問題,立刻結束 php 進程。

          開始調試


          代碼格式化

          這個代碼太亂了,我們需要格式化一下代碼。

          最開始我用的是 PHPStorm 自帶的代碼格式化,格式化之后數據變了,PHPStorm 對未知字符集的支持還是比較差的。

          然后我就想對 php 文件的 AST (Abstract Syntax Tree 抽象語法樹)進行分析,看能不能順便把變量名都改成可顯示字符。后來想想似乎不行,因為這種代碼肯定是帶 eval 的,改了變量名之后,eval 的字符串中的變量名就對應不上了。

          我找到了這個工具:https://github.com/nikic/PHP-Parser

          首先 composer require nikic/php-parser。

          然后將下列代碼保存到一個文件中(比如 format.php),讀取下載下來的 1.php,把格式化之后的代碼寫入 2.php。

          然后,執行 php format.php

          使用這個方法格式化的 php 文件內容并沒有被損壞,我們可以繼續分析了。

          如果,還不行,那就只能用十六進制編輯器查找 ; 和 } 手動替換了,添加 \r\n 了。

          調試


          最前面這兩行我們得先注釋掉,不然出了什么錯誤的話會莫名其妙的。

          error_reporting(0);

          ini_set("display_errors", 0);

          保存。然后完蛋了,代碼又亂了。

          我們需要一個支持非可顯示字符的編輯器,或者...更改顯示編碼,選擇一個不是多字節的字符集,比如 Western (ISO 8859-1)

          現在,開始我們的調試。

          在第一行下斷點。執行 php 2.php運行程序。然后單步調試,一邊執行,一邊注意變量的值,分析函數的執行流程。

          使用 VSCode的調試功能,我們可以方便的查看變量的具體內容。

          單步調試到這一行,似乎有些不對勁。

          php_sapi_name()=='cli' ? die() : '';

          我們用命令行運行的,所以執行完這一句,肯定程序就結束了。

          那就讓他結束吧,我們把這一行注釋掉,在他下面下斷點。重新運行程序。

          下面這行是就是讀取當前文件,這句話沒有什么問題。

          $f=file_get_contents(constant('rnfzwpch'));

          然后就又是驗證運行環境。

          if(!isset($_SERVER['HTTP_HOST']) !isset($_SERVER['SERVER_ADDR']) && !isset($_SERVER['REMOTE_ADDR'])) {

          die();

          }

          注釋掉,保存,重新運行。

          當然,也可以通過調試控制臺,執行類似 $_SERVER['HTTP_HOST']='127.0.0.1'; 這類指令,來讓驗證通過。

          再看下面的代碼,我想到 exe 反調試了,不得不佩服想這個方法的人。防止下斷點調試的,如果下斷點調試,這里就超過 100 毫秒了。

          $t=microtime(true) * 1000;eval("");if (microtime(true) * 1000 - $t > 100) {

          die();

          }

          我們直接在這條語句之后下斷點,讓他們一連串執行完,這樣就不會超過 100 毫秒了。當然,直接注釋掉是最粗暴的方法。

          下面的 eval我們需要通過“單步進入”來研究,不過結果是對我們的影響不大,當然注釋掉也沒問題。

          接下來這個就是校驗數據完整性的了

          !strpos(decode_func(substr($f, -45, -1)), md5(substr($f, 0, -46))) ? $undefined1() : $undefined2;

          這里的$undefined1$undefined2都沒有定義。如果驗證失敗,就會調用 $undefined1會直接 Error退出程序。而如果驗證成功,雖然 $undefined2變量不存在,但是只是一個 Warning,并沒有太大問題。decode_func就是文件中最后一個函數,專門負責字符串解碼的。

          這個驗證方法就是把文件尾部分解密和前面的文件主體部分的 md5 對比,這次執行肯定又不能通過。

          退出程序,注釋掉,再重新運行。

          $decrypted=str_rot13(@gzuncompress(decode_func(substr($f, -2358, -46))));

          我們找到了這個解碼的關鍵語句了,可以看到解密之后的代碼已經出來了。

          到了代碼的最后,終于要執行腳本了。

          $f_varname='_f_';$decrypted=check_and_decrypt(${$f_varname});

          set_include_path(dirname(${$f_varname}));$base64_encoded_decrypted=base64_encode($decrypted);$eval_string='eval(base64_decode($base64_encoded_decrypted));';$result=eval($eval_string);

          set_include_path(dirname(${$f_varname}));return $result;

          折騰了半天,還是 eval語句。如何把內容輸出呢。直接在 $decrypted后面加上一行 file_put_contents就可以了。

          成果

          通用解密程序

          我們可以繼續分析一下他的解密算法

          算法是固定的,只是其中內聯了一個秘鑰,我們只要通過字符串函數截取出這個秘鑰就可以了。

          最后的解碼程序如下。

          這個程序可以解密此網站全部免費加密的代碼。

          使用方法:php decrypt.php 1.php

          總結

          • php 這種動態解釋語言還想加密?做夢去吧。不過混淆還是有可能的。

          • 這個代碼中的暗樁挺有意思,算是學到了點知識。

          • php 這種東西為什么要加密?php 的開源社區多么龐大。

          附錄

          代碼賞析


          主站蜘蛛池模板: 免费国产在线精品一区| 国产在线精品一区二区在线看| 极品少妇一区二区三区四区| 国产香蕉一区二区三区在线视频| 国产成人无码一区二区在线播放 | 国模吧一区二区三区| 国产一区二区好的精华液| 亚洲一区免费视频| 国产精品日本一区二区不卡视频| 亚洲av成人一区二区三区观看在线| 久久99精品一区二区三区| 国产精品一区二区av不卡| 日亚毛片免费乱码不卡一区 | 国产伦精品一区二区免费| 国产精品久久久久一区二区三区| 秋霞无码一区二区| 日韩人妻一区二区三区免费| 国产一区二区三区久久| 中文字幕一精品亚洲无线一区| 久99精品视频在线观看婷亚洲片国产一区一级在线 | 亚洲AV无码一区二区三区性色 | 国产精品一区二区综合| 久久青青草原一区二区| 尤物精品视频一区二区三区| 国产乱码一区二区三区| 激情无码亚洲一区二区三区| 无码丰满熟妇一区二区| 日本免费一区尤物| 亚洲一区二区三区免费| 国产亚洲福利精品一区| 久久高清一区二区三区 | 国模视频一区二区| 国产精品一区二区在线观看| 波多野结衣在线观看一区| 国产综合精品一区二区| 国产日韩高清一区二区三区| 亚洲夜夜欢A∨一区二区三区| 国产精品女同一区二区久久| 蜜桃传媒视频麻豆第一区| 久久久av波多野一区二区| 亚洲国产系列一区二区三区 |