Apache-2.2
PHP cli 的 FPM 二進製文件
最新的 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。