需求前瞻:
最近因需求,需要支持php調用現有的Lua代碼,可以減少php的代碼量,同時在維護上也比較方便,不會照成需求變更,需要同時修改兩份代碼
第一步:安裝php7.0及以上版本,此處安裝方法就略過
第二步:
官網下載最新lua安裝包5.3.3
www.php.net官網搜索lua,下載php對應的lua包
http://php.net/manual/zh/book.lua.php 此處有詳細的安裝說明
切記php、lua、php的lua擴展包,這三個包的必須是相對應的版本,如php7.0及以上,擴展包lua-2.0.2,lua的版本必須5.2以上,否則會編譯失敗
擴展包下載地址:http://pecl.php.net/package/lua
解壓后的安裝包如果不存在configure文件,在該目錄下執行phpize即可生成
configure帶參數問題,可以查看該文件的說明,運行出錯的話大部分就是缺失文件,直接在末尾加上參數“--with xxx=缺失文件路徑”
錯誤處理:
編譯源碼如果失敗,認真看失敗原因,英文很渣的我都是一字一句的翻譯,其實多看看也就習慣了
如5.3.3版本的lua直接使用默認makefile編譯安裝后,安裝擴展時,當鏈接liblua.a報錯,提示:recompile with fpic,此時就需要刪除已安裝的lua版本,執行make uninstall即可,修改makefile文件,編譯選項加上 -fpic即可,重新編譯安裝
PS:PHP所有支持擴展均可到http://pecl.php.net下載,官方也均有提供安裝及使用方式,認真查閱文檔即可,configure --help可查看支持版本等信息
知其然知其所以然