安裝 Laravel/horizon 踩過的坑

Jouzeyu發表於2019-09-28
報錯圖:

安裝laravel/horizon踩過的坑

問題原因

我們簡單翻譯一下提示資訊就可以看到,整體說的是laravel/horizon依賴或者需要ext-pcntl擴充,我們可以在php.ini中修改並使用。這就是大概的意思,但是我去php.ini找了,沒有找到。

解決辦法
"config": {
        "preferred-install": "dist",
        "sort-packages": true,
        "optimize-autoloader": true,
        "platform": {
            "ext-pcntl": "7.2",
            "ext-posix": "7.2"
        }
    },

可以看到,我們可以在composer.json檔案裡面的config裡面加上platform配置,樓主執行了一下,完美解決。可是這是為什麼呢?
從stackoverflow上找到了答案,該錯誤表明未安裝PCNTL PHP擴充套件,並且Horizon需要提供此擴充套件的PHP環境。

PCNTL擴充套件為Unix風格的程式管理和信令提供了一個API。由於其固有的重點是僅在類似Unix或Linux的作業系統中可用的功能,因此此擴充套件不支援Windows,如文件中所述:

注意:此副檔名在Windows平臺上不可用。

通過此API,Laravel Horizon使用PHP 7.1新增的非同步訊號處理功能來管理佇列工作程式。因此,Horizon當前不支援Windows,Windows開發人員需要使用虛擬環境(例如Homestead)來安裝和執行Horizon。

我們加上這兩項就可以安裝的原因就是我們設定忽略了版本匹配,如果有不對的地方,歡迎大家修改指正。

相關文章