通過 PECL 安裝 PHP 擴充套件(以 CentOS7 中安裝 swoole 為例)
常用工具
PECL 和 phpize
PHP 有大量的擴充套件可以使用,比如用於連線資料庫的擴充套件 mysqli,圖形庫 gd2 等。擴充套件有兩種安裝方法:
- 通過
pear install xxx
安裝,需要提前在機器上安裝 pear,CentOS 下可以通過yum install php72w-pear
可以安裝 PHP7.2 對應的版本 - 用 phpize 原始碼編譯安裝,CentOS 下可以通過
yum install php72w-devel
可以安裝 PHP7.2 對應的版本
注意安裝的擴充套件需要和 PHP 的版本匹配。例如我安裝的是 PHP7.2,則需要安裝 PHP7.2 對應的 php-devel 和 php-pear:
[[email protected]_139_74_centos ~]# yum list php72w*
Loaded plugins: fastestmirror, langpacks
Repository epel is listed more than once in the configuration
Loading mirror speeds from cached hostfile
* webtatic: us-east.repo.webtatic.com
Installed Packages
php72w-cli.x86_64 7.2 .8-1.w7 @webtatic
php72w-common.x86_64 7.2.8-1.w7 @webtatic
php72w-devel.x86_64 7.2.8-1.w7 @webtatic
php72w-fpm.x86_64 7.2 .8-1.w7 @webtatic
php72w-pear.noarch 1:1.10.4-1.w7 @webtatic
php72w-process.x86_64 7.2.8-1.w7 @webtatic
php72w-xml.x86_64 7.2.8-1.w7 @webtatic
Available Packages
php72w-bcmath.x86_64 7.2.8-1.w7 webtatic
php72w-dba.x86_64 7.2.8-1.w7 webtatic
php72w-embedded.x86_64 7.2.8-1.w7 webtatic
php72w-enchant.x86_64 7.2.8-1.w7 webtatic
php72w-gd.x86_64 7.2.8-1.w7 webtatic
php72w-imap.x86_64 7.2.8-1.w7 webtatic
php72w-interbase.x86_64 7.2.8-1.w7 webtatic
php72w-intl.x86_64 7.2.8-1.w7 webtatic
php72w-ldap.x86_64 7.2.8-1.w7 webtatic
php72w-mbstring.x86_64 7.2.8-1.w7 webtatic
php72w-mysql.x86_64 7.2.8-1.w7 webtatic
php72w-mysqlnd.x86_64 7.2.8-1.w7 webtatic
php72w-odbc.x86_64 7.2.8-1.w7 webtatic
php72w-opcache.x86_64 7.2.8-1.w7 webtatic
php72w-pdo.x86_64 7.2.8-1.w7 webtatic
php72w-pdo_dblib.x86_64 7.2.8-1.w7 webtatic
php72w-pecl-apcu.x86_64 5.1.9-1.w7 webtatic
php72w-pecl-apcu-devel.x86_64 5.1.9-1.w7 webtatic
php72w-pecl-geoip.x86_64 1.1.1-1.2.w7 webtatic
php72w-pecl-igbinary.x86_64 2.0.5-1.w7 webtatic
php72w-pecl-igbinary-devel.x86_64 2.0.5-1.w7 webtatic
php72w-pecl-imagick.x86_64 3.4.3-1.2.w7 webtatic
php72w-pecl-imagick-devel.x86_64 3.4.3-1.2.w7 webtatic
php72w-pecl-libsodium.x86_64 1.0.6-1.2.w7 webtatic
php72w-pecl-memcached.x86_64 3.0.4-1.w7 webtatic
php72w-pecl-mongodb.x86_64 1.4.1-1.w7 webtatic
php72w-pecl-redis.x86_64 3.1.6-1.w7 webtatic
php72w-pecl-xdebug.x86_64 2.6.0-1.w7 webtatic
php72w-pgsql.x86_64 7.2.8-1.w7 webtatic
php72w-phpdbg.x86_64 7.2.8-1.w7 webtatic
php72w-pspell.x86_64 7.2.8-1.w7 webtatic
php72w-recode.x86_64 7.2.8-1.w7 webtatic
php72w-snmp.x86_64 7.2.8-1.w7 webtatic
php72w-soap.x86_64 7.2.8-1.w7 webtatic
php72w-sodium.x86_64 7.2.8-1.w7 webtatic
php72w-tidy.x86_64 7.2.8-1.w7 webtatic
php72w-xmlrpc.x86_64 7.2.8-1.w7 webtatic
pecl
pecl install extname
命令自動下載原始碼、編譯程式碼,並將編譯後的 extname.so
安裝到 extension_dir
中。然後編輯 php.ini
引入 extname.so
就可以載入了。
phpize
使用 pecl 需要提前將擴充套件庫釋出到 PECL 官方倉庫中。而原始碼安裝更靈活。
phpize 的通用流程:
$ cd extname
$ phpize
$ ./configure
$ make
# make install
php 命令
通過 php -m
可以檢視 PHP 中安裝的擴充套件。
php-config
官網文件
php-config 可以用於獲取 PHP 的配置資訊。可以通過 -h
選項來顯示 php-config 指令碼在命令列所能使用的選項。
這裡需要用 php-config --extension-dir
來檢視 PHP 的擴充套件目錄位置:
[[email protected]_139_74_centos ~]# php-config --extension-dir
/usr/lib64/php/modules
[[email protected]_139_74_centos ~]# ll /usr/lib64/php/modules/
total 6500
-rwxr-xr-x 1 root root 24752 Jul 20 23:31 bz2.so
-rwxr-xr-x 1 root root 33872 Jul 20 23:31 calendar.so
-rwxr-xr-x 1 root root 15648 Jul 20 23:31 ctype.so
-rwxr-xr-x 1 root root 87072 Jul 20 23:31 curl.so
-rwxr-xr-x 1 root root 176720 Jul 20 23:31 dom.so
-rwxr-xr-x 1 root root 86136 Jul 20 23:31 exif.so
-rwxr-xr-x 1 root root 5053064 Jul 20 23:31 fileinfo.so
-rwxr-xr-x 1 root root 62056 Jul 20 23:31 ftp.so
-rwxr-xr-x 1 root root 15744 Jul 20 23:31 gettext.so
-rwxr-xr-x 1 root root 70400 Jul 20 23:31 gmp.so
-rwxr-xr-x 1 root root 41104 Jul 20 23:31 iconv.so
-rwxr-xr-x 1 root root 44888 Jul 20 23:31 json.so
-rwxr-xr-x 1 root root 278160 Jul 20 23:31 phar.so
-rwxr-xr-x 1 root root 37120 Jul 20 23:31 posix.so
-rwxr-xr-x 1 root root 15728 Jul 20 23:31 shmop.so
-rwxr-xr-x 1 root root 58456 Jul 20 23:31 simplexml.so
-rwxr-xr-x 1 root root 91688 Jul 20 23:31 sockets.so
-rwxr-xr-x 1 root root 15880 Jul 20 23:31 sysvmsg.so
-rwxr-xr-x 1 root root 11568 Jul 20 23:31 sysvsem.so
-rwxr-xr-x 1 root root 15800 Jul 20 23:31 sysvshm.so
-rwxr-xr-x 1 root root 19936 Jul 20 23:31 tokenizer.so
-rwxr-xr-x 1 root root 32744 Jul 20 23:31 wddx.so
-rwxr-xr-x 1 root root 32960 Jul 20 23:31 xmlreader.so
-rwxr-xr-x 1 root root 54216 Jul 20 23:31 xml.so
-rwxr-xr-x 1 root root 49232 Jul 20 23:31 xmlwriter.so
-rwxr-xr-x 1 root root 32984 Jul 20 23:31 xsl.so
-rwxr-xr-x 1 root root 138776 Jul 20 23:31 zip.so
安裝 PHP 環境
安裝epel-release
epel 是 Extra Packages for Enterprise Linux (EPEL),倉庫資源豐富且更新及時。參考 這裡。
yum -y install epel-release
獲取 PHP7 的yum源
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
檢視可用的 PHP7 版本列表
yum list php7*
安裝 PHP7.2
用於執行 PHP 指令碼。
yum install php72w
安裝 PHP-FPM
用於在 PHP 和 Nginx 之間通訊。
yum install php72w-fpm
安裝 PEAR
安裝後,可以使用 pecl 命令來安裝軟體。可以通過 PHP 官方提供的 pecl 命令從 PHP 的官方擴充套件庫安裝擴充套件。
yum install php72w-pear
安裝 phpize
安裝後,可以使用 phpize 命令從原始碼編譯 PHP 擴充套件,得到 *.so
檔案。
yum install php72w-devel
安裝 swoole
pecl install swoole
修改 php.ini 配置檔案
新增這句話:
extension=swoole.so
常見問題
建議 Linux 系統安裝完成後,立刻安裝各種編譯工具,可以減少很多麻煩。
configure: error: no acceptable C compiler found in $PATH
原因:系統中沒有安裝 C 編譯器。
解決辦法:安裝 GCC 軟體套件。
yum install gcc
configure: error: C++ preprocessor “/lib/cpp” fails sanity check
原因:系統中沒有安裝 C++ 前處理器。
解決辦法:安裝 C++ 軟體套件。
yum install glibc-headers gcc-c++
相關推薦
通過 PECL 安裝 PHP 擴充套件(以 CentOS7 中安裝 swoole 為例)
常用工具 PECL 和 phpize 官網文件 PHP 有大量的擴充套件可以使用,比如用於連線資料庫的擴充套件 mysqli,圖形庫 gd2 等。擴充套件有兩種安裝方法: 通過 pear install xxx 安裝,需要提前在機器上安裝 pear
安裝Windows和Linux雙系統方法(以Windows7和Ubuntu16.04為例)
用UltraISO製作Ubuntu 或 Debian 的U盤啟動盤後,在機器用U盤啟動時有時會報這個錯誤:failed to load ldlinux.c32 這是UltraISO的問題,需要換燒錄軟體,請換燒錄軟體: linux:mkusb windows
pycharm外掛的安裝(以IdeaVim 和 Markdown support 為例)
pycharm 安裝外掛的方法主要有兩種: 1. file --> settings --> plugins --> Install JetBrains plugins... --> 搜尋要安裝的外掛,點選安裝 2. file --> set
Linux系統下的vi編輯器的使用(以VMware下的Ubuntu64為例)
linux系統 編輯器 一般模式 ubuntu虛擬機 vi編譯器 上午花費一些時間學習vi編輯器,下面把學習的一些經驗記錄在這篇博文中。 vi編輯器是Linux系統下的基本編譯器,工作在字符模式,是一個很高效的文本編譯器,它在系統和服務器管理上的功能是普通的圖形編譯器所不能夠
Linux下command not found(以CentOS下沒有telnet為例)
裏的 linu com ins net 文件 bsp netd mman [[email protected]/* */ ~]# telnet bash: telnet: command not found rpm -qa telnet* //查詢是否安裝了
Mac 創建證書(以 創建gdb證書 為例 )
pick 1-1 src for png b- num iat alt open /Applications/Utilities/Keychain\ Access.app/ 打開 鑰匙串訪問 繼續繼續 創建完畢。 Now that we have a ce
MVC初級知識之二——Routing路由(以近乎產品源碼為例)
.cn load lan 下載地址 路由 href targe eas bak 演示產品的代碼,開源去近乎官網下載近乎免費源碼版。下載地址:http://www.jinhusns.com/Uploads/Release/bak/jinhu_V5.2.0
Alfred 3 如何設置默認搜索引擎(以百度搜索為例)
今天 alfred width city search left 屏幕 由於 -o 今天,由於收到UDACITY的微信新聞,關於使用Alfred 工具的介紹,所以一時興起,決定再把Alfred研究一下,以後再慢慢適應使用Alfred,結果花了近2個小時才總算把Alfred默
gitlab配置通過smtp發送郵件(QQ exmail騰訊企業為例)
res use 企業 mbo tar 郵箱 rails blank authent gitlab配置通過smtp發送郵件(QQ exmail騰訊企業為例) 首先祭出官網文檔鏈接:https://docs.gitlab.com/omnibus/settings/smtp
雜記——controller的工作原理(以CSDN網站導航條為例)
最近初學springMVC,今天明白了controller和jsp之間聯絡的工作原理,於是記一個小筆記。 先看一個程式碼 下面是controller中的一個cookieBind方法 @RequestMapping(value="/cookiebind", method = {Reques
基於GDAL庫,讀取.grd文件(以海洋地形數據為例)C++版
的區別 網站 這一 eight null 配置 drag oat data 技術背景 海洋地形數據主要是通過美國全球地形起伏數據(GMT)獲得,數據格式為grd(GSBG)二進制數據,打開軟件通過是Surfer軟件,surfer軟件可進行數據的編輯處理,以及進一步的可視
第三方介面呼叫案例(以阿里雲簡訊服務為例)
第三方介面或者服務大部分都是以rest風格的,需要http請求去呼叫,通過網路傳送請求去呼叫,然後等待第三方服務的響應,併發量多的話,會嚴重拖慢業務邏輯的處理速度。為了提高系統的效能,呼叫第三方服務,最好做成非同步的,如果條件允許,最好用單獨的伺服器,或者幾臺伺服器來做呼叫第三方介面,來提高業務邏輯
錯排問題(以航電OJ 2048 為例)
神、上帝以及老天爺 Problem Description HDU 2006’10 ACM contest的頒獎晚會隆重開始了! 為了活躍氣氛,組織者舉行了一個別開生面、獎品豐厚的抽獎活動,這個活動的具體要求是這樣的: 首先,所有參加晚會的人員都將一張寫有自己名字的字條放入抽獎箱中;
Selenium元素定位初探(以今日頭條首頁為例)
隨著網頁技術的發展,動態網頁的比例越來越高,原來抓取靜態網頁的許多方法變得不再適用;再加上越來越多的網站添加了各種複雜的反爬蟲策略,導致直接通過網路請求的方式去抓取頁面的方式已經有些落伍了。 而Selenium可以通過模擬瀏覽器的真實行為來訪問網頁並將頁面原始碼快取下來,從而實現所見
基於GDAL庫,讀取.nc檔案(以海洋表溫資料為例)
對於做海洋資料處理的同學,會經常遇到nc格式的檔案,nc檔案的格式全稱是NetCDF,具體的詳細解釋請查詢官網【https://www.unidata.ucar.edu/software/netcdf/docs/index.html】,一般從全球大洋資料庫裡面下載的溫鹽、風場及雲量等資料,基本上是nc檔案
python爬蟲(以國家菸草網新聞為例)
國家菸草專賣局的網址是:http://www.tobacco.gov.cn/html/ 要爬取的內容為各省級局的新聞。 大部分的省的新聞頁url都是有規律的,比如貴州省的是 http://www.tobacco.gov.cn/html/36/3617/36
ARM裸板程式的開發和編譯(以點亮LED燈為例)
製作好交叉編譯工具鏈後,怎麼確定是否有效呢,當然是編譯一個程式燒寫到板上跑一下了。這裡我們以點亮LED燈為例描述如何使用我們製作的交叉編譯工具鏈編譯裸板程式。 首先,需要了解下Nor flash,Nand flash,片內記憶體,片外記憶體,地址空間這幾個概念。其中,Nor
Chrome-逆向分析JS-2獲取傳送請求位置(以datatables獲取表格資料為例)
劇透:就是使用了一下Chrome Source的XHR/fetch Breakpoints 功能,在傳送請求時在該行進入斷點除錯。 # 一:不認識一下XHR/fetch Breakpoints 這個功能麼? 可以去 https://developers.google.com/web/tools/chrome-
Alfred 3 如何設定預設搜尋引擎(以百度搜索為例)
前提條件: Alfred 3 已經安裝在MAC中 首先要有破解的Alfred 3 安裝在MAC PRO中,然後進入到以下欄目:Features-->web Search-->Add Custom Search(根據以下圖來設定) ; 注意:如果需要設定指定在百度中搜索內容,需要設
線上生成android應用程式初探(以線上生成EPUB電子書為例)
最近發現國內有的公司提供線上編輯並自動編譯生成android應用程式的產品。覺得有點意思,正好有幾個朋友老說需要epub格式的電子書,看了看android的SDK,自己業餘時間做了個線上生成apk電子書閱讀器和epub電子書的程式。近一週沒有看電視了,有必要把整個實現過程分