Apache-2.2

PHP cli 的 FPM 二進製文件

  • March 31, 2016

最新的 Synology NAS DSM 6 版本有一個奇怪的 PHP 設置。命令行二進製文件是 PHP 版本 5.6.11,幾乎沒有啟用模組,並且標記器部分未編譯到其中。但是,當安裝了 Synology Web 伺服器應用程序並且我執行phpinfo();時,它會向我顯示 PHP 版本 5.6.17,其中啟用了許多模組,包括 intl 和 tokenizer。正在執行的 Web 伺服器是帶有 php-fpm 的 Apache。

是否可以使用來自 Web 伺服器的 PHP 二進製文件在命令行上執行 php?我需要它,因為我只有一個基於 Symfony 的 PHP 命令行應用程序,它需要 intl 和 tokenizer(可能還有更多)擴展。

編輯:

發現解決方案https://stackoverflow.com/questions/30238602/how-to-execute-a-php-file-using-a-php5-fpm-pool-socket,但太複雜了。

我終於在這裡找到了答案https://forum.synology.com/enu/viewtopic.php?f=20&t=91099#p425790。創建連結後

ln -s /usr/local/bin/php56 /sbin/php

ln -s /usr/local/bin/php56 /usr/local/bin/php

它開始通過命令行和 cron 作業工作。

只需在 cli 中使用 php56 而不是 php。

引用自:https://serverfault.com/questions/766074