Composer
以前有在Ubuntu 16.04的環境上安裝過composer使用過monolog,
而在當時其實也沒有很認真的學composer,所以在那之後就沒有使用過。
現在覺得自己好像有點在原地打轉,想說就照2019 年成為 Web 開發人員的路線圖來學習。
在Arch Linux上照著文件安裝composer卻遇到了錯誤。
雖然還有地方沒有釐清,用了繞路的方法避開問題,然而這是紀錄下至少可以運作的方法QQ
錯誤(一)描述
照著官方文件進行安裝,然而在第一步驟卻就遇到了問題,
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
出現以下錯誤訊息
PHP Warning: PHP Startup: Unable to load dynamic library '/path/to/extension/mysqli.so'
錯誤(一)處理
php無法開啟該mysqli.so library,
然而我尚不確定為什麼我的路徑長這樣,推斷有可能是我自己安裝LAMP時只顧著複製貼上…
經確認後我的mysqli.so路徑在/usr/lib/php/modules
裡,
於是修改了php.ini檔案(該檔案位置視不同裝置不同而有可能在不同路徑)
sudo vim /etc/php/php.ini
修改該行路徑extension=/path/to/extension/mysqli.so
成正確mysqli.so路徑
錯誤(二)描述
然而修改後卻跳出不同的錯誤訊息
PHP Warning: Module 'mysqli' already loaded in Unknown on line 0
錯誤(二)解決
看起來mysqli被重複讀取,使用grep搜尋關於mysqli的extension
cat /etc/php/php.ini | grep "mysqli"
發現了真的重複載入,註解掉其一
extension=/usr/lib/php/modules/mysqli.so
extension=mysqli
錯誤(三)描述
成功完成第一步驟然而第二步驟卻又錯誤…Installer corrupt
網路上許多人遇到同樣問題,然而許多人都建議改用其他方法安裝,因此目前我也無法找到真正原因,
等過一陣子有空再回來找問題所在QQ。
錯誤(三)尚未處理,附上其他方法
以下紀錄至少可運作的方法。
- 下載composer-setup.php
php -r "copy('http://getcomposer.org/installer', 'composer-setup.php');"
- 安裝到bin路徑下 可全域使用
php composer-setup.php --install-dir=/usr/local/bin --filename=composer
- 取消連結
php -r "unlink('composer-setup.php');"
- 檢查是否安裝
composer --version