由于需要使用apcu擴展,所以自己編譯了一份php8.1靜態(tài)文件,一次編譯了php8.1-static和micro.sfx兩個文件。 php8.1-static用于開發(fā)環(huán)境并未出現(xiàn)任何問題,但是將自己的micro.sfx拷貝到build/目錄下打包二進制后,二進制文件不能執(zhí)行,提示"only run in command line mode"。懷疑是編譯的時候少東西
編譯語句為:
$ ./spc-linux-x86_64 build --build-cli --build-micro "bcmath,apcu,calendar,ctype,curl,dom,event,exif,ffi,fileinfo,filter,gd,iconv,inotify,mbstring,mongodb,mysqlnd,openssl,pcntl,pdo,pdo_mysql,pdo_sqlite,phar,posix,readline,redis,session,shmop,simplexml,soap,sockets,sqlite3,tokenizer,xml,xmlreader,zip,zlib,xmlwriter" --debug -I "memory_limit=512M"
編譯步驟:http://www.wtbis.cn/a/1605
解決方案一:更新workerman至v4.1.14版本,其中兼容了PHP_SAPI為micro的方式(感謝老大@ walkor
立馬更新了這個版本)
解決方案二:編譯的時候增加參數--with-micro-fake-cli
,編譯以后PHP_SAPI的值依舊是cli (感謝@crazywhalecc
原作者提供的幫助)