中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Laravel如何解決composer相關操作提示php異常的問題

發布時間:2021-07-21 09:59:46 來源:億速云 閱讀:170 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關Laravel如何解決composer相關操作提示php異常的問題,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

Laravel 的一大特色就是使用 composer 來管理依賴包,這使得整個項目的升級、擴展變得異常容易。一般情況下,只需要我們輸入幾個命令并按下回車,就能完成插件包的安裝、更新以及卸載工作。

但有時候你會碰到一種比較有意思的問題。那就是使用 composer 進行相關安裝、更新插件操作的時候,卻報 PHP 程序異常。比如,github中一個項目,在你上次更新之后上游代碼又加入新功能,使用了一個新的依賴包。這時你使用git pull更新代碼后,依賴包并沒有安裝,那么再用composer update 來更新這個必要的包時,卻會因為項目程序中缺少這個包而報錯……(說得有點兒繞),如此就陷入了一種想要安裝這個包卻報異常,而想要解決這異常又正好需要裝這個包的死循環里了。

其實造成這種問題的原因就藏在項目根目錄下那個 composer.json 文件里,稍微看一下就會發現,其中有一個 scripts 屬性(內容見下方代碼),其中設置了項目創建后、根包安裝后、插件包安裝前和安裝后要自動完成的操作,它們大多是php artisan命令,而這些命令是由程序中 Console 組件驅動的,當程序發生異常,它們也就無法運行,于是當 composer 操作調起這些命令時就出現異常了。

"scripts": {
  "post-root-package-install": [
   "php -r \"copy('.env.example', '.env');\""
  ],
  "post-create-project-cmd": [
   "php artisan key:generate"
  ],
  "post-install-cmd": [
   "php artisan clear-compiled",
   "php artisan optimize"
  ],
  "pre-update-cmd": [
   "php artisan clear-compiled"
  ],
  "post-update-cmd": [
   "php artisan optimize"
  ]
 },

在了解了原因之后,再來說解決辦法就不難理解了,有兩種辦法:

第一種方法比較笨,就是在其它空項目里安裝這個包(或者找到以前裝過的現成的),然后把源碼復制到vendor目錄后,最后使用 composer dump-autoloat --optimize 更新自動加載文件。

第二種則比較容易,因為它是針對造成這個問題的原因來對癥下藥的。

具體操作就是先刪除上面提到的 scripts并保存 composer.json,然后進行需要的 comoser 操作,完成后再將刪除的 scripts 部分加回去去。

需要注意的是,因為這次 composer 操作時沒有自動運行 scripts 里那些命令,因而需要自己根據情況手動處理一下,比如 clear-compiled,optimize 等,或者在composer.json改回去之后再進行一次同樣的composer操作。

在laravel最新的版本中,composer.json中的pre-update-cmd這條已經被刪除了,而這條正是引起本文中所述問題的關鍵原因。各位可根據自己的情況手動刪除它。

關于“Laravel如何解決composer相關操作提示php異常的問題”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

五大连池市| 佛冈县| 噶尔县| 大厂| 油尖旺区| 金寨县| 天等县| 慈溪市| 灵武市| 石阡县| 元朗区| 福清市| 江北区| 汶上县| 光山县| 五莲县| 鸡泽县| 特克斯县| 托里县| 阳曲县| 搜索| 修武县| 边坝县| 潮州市| 淳化县| 安福县| 洛南县| 浙江省| 黑水县| 牙克石市| 许昌市| 江油市| 伊宁县| 溧水县| 金华市| 那坡县| 纳雍县| 英吉沙县| 乌鲁木齐县| 安达市| 昆山市|