網頁

2015年10月28日 星期三

PHP Composer 相關資料

安裝環境:

主機環境 Windows 10 Apache2.4.33 PHP 7.2.X

安裝過程:

可以利用 Composer-Setup.exe 自動安裝的方式進行,但我這偏好手動安裝的方式。

手動安裝的方式:下載最新版本的 composer.phar ,再將它放到專案的目錄內即可。

在安裝 PHP Composert 時出現 Internal Error [ERR_STATIS],exit code255(如圖)的錯誤訊息

原來是 php.ini 內的設定需要做一些調整,不是很確定是要將 disable_function 內的那一項刪除,我猜應該是它是需要使用到 shell_exec function ,不過因為是在測試用機器,所以將 disable_function 的部份全部開放。若往後專案有使用到,再來確定就可以了。反正目前是在學習中。


php.ini 需配合調整
extension=php_openssl.dll //啟用
allow_url_fopen = On //改成 On
open_base="C:\ProgramData\ComposerSetup\bin"; //也許也要調整
;disable_function = shell_exec //將它暫時關閉
新北市樹林國小 Laravel 工作坊內的課程各單元投影片內的 COMPOSER套件管理 PPT內P16頁,它有提到它其實是可以有隨身版的,這是因為 composer 是 PHP Archive files。只要將 composer.phar 放到專案的根目錄底下就可以直接使用。輸入的指令要修改成 php composer.phar {command}。



















Composer command

  • php composer.phar self-update //定期更新
  • composer validate //檢查 composer.json 內容
  • composer show --installed //列出目前專案所有的相依套件
  • composer install  //讀取目前目錄的 composer.json 檔案、解析依賴套件、並安裝他們到 vendor 中
  • composer update //為了取得依賴套件的最新版本,並且更新 composer.lock 檔案
  • 該使用 install or update :
  • composer 目錄架構
    • vendor/*  (下載相關套件)
    • vendor/autoload.php (自動以載入套件中所有對外公開的類別)
    • composer.lock ()

範例,以 phpmailer 為例

參考 phpmailer website 內的作法
  1. 在composer.json 檔案內直接指定使用版本 "phpmailer/phpmailer": "~5.2" 或使用 php composer.phar require phpmailer/phpmailer,它會自動的產生 composer.json 檔案。
  2. 在 php 程式內直接 require 'vendor/autoload.php' 後(參考 github 上範例),就可以做發信的動作;實際測試時,php.ini 內有將 openssl 啟動會造成 phpmailer  SMTP Error: Could not connect to SMTP host.

相關資料:
  1. 首頁 - Composer | 正體中文文件
  2. 新北市樹林國小 Laravel 工作坊
  3. 逐步提昇PHP技術能力 - 開發工具 : 用Composer管理相依性
  4. 5 features to know about Composer PHP   
  5. Download Composer
  6. Composer設計原理與基本用法 
  7. A Dependency Manager for PHP

沒有留言:

張貼留言