由於PHP 開啟fileinfo(php 參數–enable-fileinfo)需要大量系統資源才能編譯通過,考慮到小記憶體機器,因此預設OneinStack fileinfo 不支持,需額外再安裝,如果你沒安裝則會提示:
PHP function mime_content_type() is missing, try enabling fileinfo module.
這樣的問題應該是需要安裝[Fileinfo PHP] 擴充功能才可以繼續安裝。如果我們目前伺服器環境是使用的 OneInStack 一鍵 WEB 配置的,那就相對比較簡單,直接內建有擴充功能可以快速安裝。
第一、快速安裝擴充功能
切換到oneinstack 安裝的根目錄下執行./addons.sh 腳本, 根據提示可以直接安裝成功
第二、手工編譯安裝
並不是所有的PHP 擴充功能都可以透過./addons.sh 腳本安裝成功, 如果需要安裝腳本中沒有提供的PHP 擴充功能, 就可以使用原始碼編譯安裝, 下面我們已yaf 擴充為例講解:
# 新建一个文件夹存放下载好的 PHP 扩展压缩包 mkdir php-extension # 进入刚才的目录中, 下载 PHP 扩展源码包, 基本上都可以在 PECL 找到需要的 PHP 扩展 wget https://pecl.php.net/get/yaf-3.0.7.tgz # 解压文件 tar zxvf yaf-3.0.7.tgz # 查看解压的文件目录 ll package.xml yaf-3.0.7 yaf-3.0.7.tgz # 切换到解压好的目录下 cd yaf-3.0.7 # 进项源码编译 /usr/local/php/bin/phpize ./configure --with-php-config=/usr/local/php/bin/php-config make && make install # 编译完成后切换到编译好的扩展存放的目录之下 cd /usr/local/php/lib/php/extensions # 查看有没有 no-debug-non-zts-20160303 类似文件夹 ls # 进入 o-debug-non-zts-20160303 文件夹下 cd no-debug-non-zts-20160303 # 查看有没有 yaf.so 扩展, 如果有, 证明编译成功 ls # 向 php.ini 配置文件加载 yaf.so 扩展 echo 'extension=yaf.so' > /usr/local/php/etc/php.d/ext-yaf.ini # 重启 PHP service php-fpm restart
這樣就安裝好了PHP 擴充.
更多PHP相關知識,請造訪PHP教學!
以上是OneinStack 安裝 PHP 擴充功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!