在用mac的時候,發現系統自己安裝了apache和php,配置檔案php.ini和apache2都在 /private/etc 下
在cli下用 php -v 顯示warming,顯示
php warning: module 'openssl' already loaded in unknown on
line
0
用phpinfo();列印出來後,顯示的資訊裡說明php的模組都安裝了,好奇怪,然後去看一下php的擴充套件庫都安裝了什麼模組
路徑如下:
/usr/lib/php/extensions/no-debug-non-zts-20121212/
發現原來只有
opcache.a opcache.so xdebug.so
三個檔案(unix的模組都是.so結尾,win下的都是.dll),於是我以為是模組缺少了。然後行吧,給動態編譯一下openssl.so應該總可以了吧
解壓後進入 /etc 目錄下找到 ./openssl
./configure --
with
-openssl
--with
-php
-config
=/usr/bin/php-config
//期間會發現各種....no,按照提示,把各種依賴庫都給裝上,這裡折騰了半天,安裝了re2c,pkg-configd等等,還有就是mac命令列xcode安裝模組編譯的時候並不知道openssl命令,老是報錯configure: error: cannot find openssl's ,具體的做法是,找到openssl安裝目錄下的include目錄,將其copy到/library/developer/commandlinetools/usr/include下,我是用 brew 進行安裝的,軟體包所有都安裝在了 /usr/local/opt/ 下
編譯:
make
安裝:
make install
然後再 ./openssl/modules 模組資料夾下發現:
openssl.so
尼瑪的終於搞定了,感覺就像合成裝備一樣。。。。
趕緊放入 /usr/lib/php/extensions/no-debug-non-zts-20121212/ 下
php.ini裡的注釋去掉;
命令列執行 php 發現:
php warning: module 『pdo_mysql』 already loaded in unknown on line 0
原來php已經安裝過了這個模組。好吧,白費了這麼久的功夫,不過也還是有收穫,玩了一下動態編譯php模組,但是工作中快速搭建還是使用mamp之類的整合工具吧
利用phpize安裝php擴充套件模組
cd extname 進入擴充套件模組的原始碼目錄下 usr local php bin phpize 舉例而已,具體路徑依實際情況而定 configure 根據不同的擴充套件模組,增加不同的引數 make make install 上邊的步驟將生成 extname.so檔案 修改php.ini e...
用 phpize 編譯共享 PECL 擴充套件庫
phpize 命令是用來準備 php 擴充套件庫的編譯環境的。下面例子中,擴充套件庫的源程式位於 extname 目錄中 cd extname phpize configure make make install 成功的安裝將建立 extname.so 並放置於 php 的擴充套件庫目錄中。需要調整...
用 phpize 編譯共享 PECL 擴充套件庫
phpize 命令是用來準備 php 擴充套件庫的編譯環境的。下面例子中,擴充套件庫的源程式位於 extname 目錄中 cd extname phpize configure make make install 成功的安裝將建立 extname.so 並放置於 php 的擴充套件庫目錄中。需要調整...