前言
PHP7即將在12月3日正式釋出,而RC8是已經差不多穩定了的版本,後續的GA版本主要都是在修復bug,所以為了未來開發環境的升級,準備嘗試安裝一下。
PHP7.0.0將在12月3日正式釋出,但是12月2日時github已經發布出PHP-7.0.0.tar.gz原始碼包,只是官方網站還尚未更新,本文也對錯誤之處進行修正。
目前PHP7正式版已經移除了古老的mysql擴充套件和ereg擴充套件
預設配置
任何軟體都要先嚐試下預設編譯選項,PHP也是一樣,特別是PHP本身模組眾多。
經過嘗試,預設編譯情況只會開啟以下模組:
[PHP Modules]
Core
ctype
date
dom
fileinfo
filter
hash
iconv
json
libxml
mysqli
mysqlnd
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
Reflection
session
SimpleXML
SPL
sqlite3
standard
tokenizer
xml
xmlreader
xmlwriter
[Zend Modules]
而蘋果預設的PHP5.5.29則會開啟以下模組
[PHP Modules]
bcmath
bz2
calendar
Core
ctype
curl
date
dba
dom
ereg
exif
fileinfo
filter
ftp
gd
hash
iconv
json
ldap
libxml
mbstring
mysql
mysqli
mysqlnd
openssl
pcre
PDO
pdo_mysql
pdo_sqlite
Phar
posix
readline
Reflection
session
shmop
SimpleXML
snmp
soap
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tidy
tokenizer
wddx
xml
xmlreader
xmlrpc
xmlwriter
xsl
zip
zlib
[Zend Modules]
經過對比,兩者差別bcmath
,bz2
,calendar
,curl
,dba
,ereg
,exif
,ftp
,gd
,ldap
,mbstring
,mysql
,mysqli
,mysqlnd
,openssl
,pdo_mysql
,readline
,shmop
,snmp
,soap
,sockets
,sysvmsg
,sysvsem
,sysvshm
,tidy
,wddx
,xmlrpc
,xsl
,zip
,zlib
差異模組簡介
bcmath
-
對於任意精度的數學,PHP提供了支援用字串表示的任意大小和精度的數字的二進位制計算。
-
自 PHP 4.0.4,libbcmath 隨同 PHP 一起釋出。該擴充套件不需要任何外部的庫。
-
本類函式僅在 PHP 編譯時配置了 –enable-bcmath 時可用。
bz2
-
bzip2 函式用於透明地讀寫 bzip2(.bz2)壓縮檔案。
-
本模組使用了 Julian Seward 的 » bzip2 庫中的函式。本模組需要 bzip2/libbzip2 版本 >= 1.0.x。
-
PHP 的 Bzip2 支援預設未開啟。編譯 PHP 時需要 –with-bz2[=DIR] 配置選項來啟用 bzip2 支援。
calendar
-
曆法擴充套件集包括了一系列用於在不同曆法間進行轉換的函式,它是以Julian Day計數為中介或標準來進行的。Julian Day計數是以公元前的4713年的1月1日為起點的一種計數法。為了在不同曆法間進行轉換,你首先要轉換成Julian Day計數,然後再轉換為你所需要的歷法。
-
構建此擴充套件不需要其他擴充套件。
-
要使用本類函式,需要在編譯 PHP 時加上 –enable-calendar 。
curl
-
PHP支援的由Daniel Stenberg建立的libcurl庫允許你與各種的伺服器使用各種型別的協議進行連線和通訊。libcurl目前支援http、https、ftp、gopher、telnet、dict、file和ldap協議。libcurl同時也支援HTTPS認證、HTTP POST、HTTP PUT、 FTP 上傳(這個也能通過PHP的FTP擴充套件完成)、HTTP 基於表單的上傳、代理、cookies和使用者名稱+密碼的認證。
-
為了使用PHP的cURL函式,你需要安裝» libcurl包。PHP需要使用libcurl 7.0.2-beta 或者更高版本。在PHP 4.2.3 裡使用cURL,你需要安裝7.9.0或更高版本的libcurl。從PHP 4.3.0開始你需要安裝7.9.0或更高版本的libcurl。從PHP 5.0.0開始你需要安裝7.10.5或更高版本的libcurl。
-
要使用PHP的cURL支援你必須在編譯PHP時加上–with-curl[=DIR] 選項,DIR為包含lib和include的目錄路徑。在include目錄中必須有一個名為curl,包含了easy.h和curl.h的資料夾。lib資料夾裡應該有一個名為libcurl.a的檔案。對於PHP 4.3.0你可以配置–with-curlwrappers 使cURL使用URL流。
dba
-
These functions build the foundation for accessing Berkeley DB style databases.
這些方法是用來訪問伯克利DB風格的資料庫
-
This is a general abstraction layer for several file-based databases. As such, functionality is limited to a common subset of features supported by modern databases such as » Oracle Berkeley DB.
這是一個用於多個基於檔案的資料庫的通用抽象層,因此功能僅侷限於相待資料庫的公共子集,例如Oracle Berkeley DB
-
By using the –enable-dba=shared configuration option you can build a dynamic loadable module to enable PHP for basic support of dbm-style databases. You also have to add support for at least one of the following handlers by specifying the –with-XXXX configure switch to your PHP configure line.
通過使用--enable-dba=shared編譯選項,你可以編譯一個動態連結庫讓PHP支援dbm-style資料庫,你還必須新增至少一種下列處理程式通過制定--with-XXXX編譯開關在編譯選項中
ereg
-
Regular expressions are used for complex string manipulation. PHP uses the POSIX extended regular expressions as defined by POSIX 1003.2.
正規表示式用於複雜字串操作,PHP使用POSIX擴充套件正規表示式
-
構建此擴充套件不需要其他擴充套件。
-
要啟用 regexp 的支援在配置 PHP 時加上 –with-regex[=TYPE] 。TYPE 可以是 system,apache 或 php 之一。預設使用 php。
exif
-
通過使用 exif 擴充套件,你可以操作影像後設資料。 例如:你可以使用 exif 相關的函式從檔案頭讀取 數位相機拍攝的 JPEG 和 TIFF 格式的影像檔案後設資料。
-
必須使用 –enable-exif 選項編譯 PHP。 exif 模組不需要其他額外的庫。
-
使用 –enable-exif 選項 配置 PHP 來啟用 exif 支援。
ftp
-
本擴充套件中的函式實現了通過 FTP 協議訪問檔案伺服器的客戶端。 FTP 協議在 » http://www.faqs.org/rfcs/rfc959 中定義。 本擴充套件提供了對於 FTP 伺服器完整的訪問及控制功能。 如果只是簡單的從 FTP 伺服器讀取或向伺服器寫入一個檔案, 請考慮使用 ftp:// 包裝器 和 檔案系統函式, 會更加的簡單。
-
構建此擴充套件不需要其他擴充套件。
-
要使用這些 FTP 相關函式,在編譯的時候請新增 –enable-ftp 選項。
gd
-
PHP 並不僅限於建立 HTML 輸出, 它也可以建立和處理包括 GIF, PNG, JPEG, WBMP 以及 XPM 在內的多種格式的影像。 更加方便的是,PHP 可以直接將影像資料流輸出到瀏覽器。 要想在 PHP 中使用影像處理功能,你需要連帶 GD 庫一起來編譯 PHP。 GD 庫和 PHP 可能需要其他的庫, 這取決於你要處理的影像格式。
-
你可以使用 PHP 中的影像函式來獲取下列格式影像的大小: JPEG, GIF, PNG, SWF, TIFF 和 JPEG2000。
-
如果聯合 exif 擴充套件 一起使用, 你可以操作儲存在 JPEG 和 TIFF 影像檔案頭部的資訊, 這樣就就可以獲取數位相機所產生的後設資料。 exif 相關的函式不需要 GD 庫亦可使用。
-
如果你有 GD 庫(可從 » http://www.libgd.org/ 獲得), 你就可以建立 和處理影像。
-
可以處理的影像格式由你所使用的 GD 庫版本 以及 GD 庫可能需要的其他庫決定。 GD gd-1.6 之前的版本支援 GIF 格式, 但是不支援 PNG 格式。 gd-1.6 以上、gd-2.0.28 以下的版本支援 PNG, 但是不支援 GIF 格式。 在 gd-2.0.28 中,又重新啟用了對於 GIF 格式的支援。
-
要啟用 GD 支援,配置 PHP 時加上 –with-gd[=DIR] ,DIR 是 GD 的基本安裝目錄。要使用推薦的繫結的 GD 庫版本(首次繫結於 PHP 4.3.0),使用 –with-gd 。要編譯 GD 庫,需要libpng 和 libjpeg。
ldap
-
LDAP is the Lightweight Directory Access Protocol, and is a protocol used to access “Directory Servers”. The Directory is a special kind of database that holds information in a tree structure.
LDAP是一個輕量級目錄存取協議,被用來和“目錄伺服器”互動,目錄是一個特別型別的資料庫,裡面以樹的結構儲存資訊
-
You will need to get and compile LDAP client libraries from either » OpenLDAP or » Bind9.net in order to compile PHP with LDAP support. For PHP 5.6 or newer you will need OpenLDAP 2.4 or newer.
你將需要得到和編譯LDAP客戶端庫從OpenLDAP或者Bind9.net為了PHP獲得LDAP支援,PHP5.6或者更新版本你需要OpenLDAP2.4或者更新
-
LDAP support in PHP is not enabled by default. You will need to use the –with-ldap[=DIR] configuration option when compiling PHP to enable LDAP support. DIR is the LDAP base install directory. To enable SASL support, be sure –with-ldap-sasl[=DIR] is used, and that sasl.h exists on the system.
LDAP擴充套件預設不啟用。你將會需要去使用--with-ldap[=DIR]編譯選項當編譯PHP並啟用LDAP支援,DIR是LDAP安裝目錄。為了去啟用SASL支援,確保--with-ldap-sasl[=DIR]被使用,並且這個sasl.h在系統中存在
mbstring
-
開發多位元組字元編碼方案是為了在基於位元組的常規編碼系統中表達超過 256 個字元。mbstring 提供了針對多位元組字串的函式,能夠幫你處理 PHP 中的多位元組編碼。 除此以外,mbstring 還能在可能的字元編碼之間相互進行編碼轉換。 為了方便起見,mbstring 設計成了處理基於 Unicode 的編碼,類似 UTF-8、UCS-2 及諸多單位元組的編碼。
-
構建此擴充套件不需要其他擴充套件。
-
mbstring 不是一個預設擴充套件。這意味著它預設沒有被啟用。 你必須在 configure 選項中顯式啟用該模組。
-
–enable-mbstring :啟用 mbstring 函式。 要使用 mbstring 函式必須啟用這個選項。
-
–enable-mbstr-enc-trans :使用 mbstring 轉換引擎來轉換 HTTP 輸入字元的編碼。 如果啟用了這個功能,HTTP 輸入字元編碼可能將自動轉換成 mbstring.internal_encoding。
-
–disable-mbregex :禁用正規表示式函式中多位元組字元的支援。
-
mysql
-
在寫新的程式碼時,不推薦使用本擴充套件。您應該使用 mysqli 或者 PDO_MySQL 擴充套件代替。
-
為了使這些函式能夠使用,你必須編譯加入 PHP 對 MySQL 的支援。
-
編譯時,只要使用 –with-mysql[=DIR] 配置選項即可,其中可選的 [DIR] 指向 MySQL 的安裝目錄。雖然本 MySQL 擴充套件庫相容 MySQL 4.1.0 及其以後版本,但是它不支援這些版本提供的額外功能。要使用這些功能,請使用 MySQLi 擴充套件庫。如果要同時安裝 mysql 擴充套件庫和 mysqli 擴充套件庫,必須使用同一個客戶端庫以避免任何衝突。
mysqli
-
mysqli擴充套件允許我們訪問MySQL 4.1及以上版本提供的功能。
-
為了使這些函式可用,你必須以支援mysqli擴充套件的方式編譯PHP。
-
mysqli擴充套件在PHP5.0.0中被引入。Mysql Native驅動在PHP5.3.0版本中被引入。
mysqlnd
-
MySQL Native Driver is a replacement for the MySQL Client Library (libmysqlclient).
MySQL原生驅動是一個MySQL客戶端庫的替代品
-
安裝
./configure --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd
openssl
-
This module uses the functions of » OpenSSL for generation and verification of signatures and for sealing (encrypting) and opening (decrypting) data. OpenSSL offers many features that this module currently doesn`t support. Some of these may be added in the future.
該模組採用OpenSSL簽名生成和驗證功能和密封(加密)和開放(解密)的資料。OpenSSL提供了許多功能,該模組目前不支援。這些可能在未來增加。
-
In order to use the OpenSSL functions you need to install the » OpenSSL package. PHP between versions 4.0.5 and 4.3.1 will work with OpenSSL >= 0.9.5. Other versions (PHP <=4.0.4 and >= 4.3.2) require OpenSSL >= 0.9.6.
為了使用OpenSSL方法,你需要去安裝OpenSSL包。在4.0。5和4.3.1的PHP需要OpenSSL>=0.9.5,其他版本需要OpenSSL>=0.9.6
-
To use PHP`s OpenSSL support you must also compile PHP –with-openssl[=DIR] .
為了使用PHP的OpenSSL支援,你必須編譯PHP --with-openssl[=DIR]
pdo_mysql
-
PDO_MYSQL is a driver that implements the PHP Data Objects (PDO) interface to enable access from PHP to MySQL 3.x, 4.x and 5.x databases.
PDO_MYSQL是實現了PHP資料物件介面的一個驅動,用於啟用PHP和MySQL資料庫之間的通訊
-
構建此擴充套件不需要其他擴充套件。
-
When compiling, use –with-pdo-mysql[=DIR] to install the PDO MySQL extension, where the optional [=DIR] is the MySQL base library. As of PHP 5.4, mysqlnd is the default library.
當編譯的時候使用--with-pdo-mysql[=DIR]去安裝PDO MySQL擴充套件,mysqlnd預設是客戶端庫
Optionally, the –with-mysql-sock[=DIR] sets to location to the MySQL unix socket pointer for all MySQL extensions, including PDO_MYSQL. If unspecified, the default locations are searched.
可選的是,--with-mysql-sock[=DIR]設定mysql的unix socket檔案位置
Optionally, the –with-zlib-dir[=DIR] is used to set the path to the libz install prefix.
可選的是,--with-zlib-dir[=DIR]被用來去設定libz安裝目錄
readline
-
readline 擴充套件函式實現了訪問 GNU Readline 庫的介面. 這些函式提供了可編輯的命令列. 一個例子是在 Bash 中允許你使用箭頭按鍵來插入字元或者翻看歷史命令. 因為這個庫的互動特性,這個功能在你寫的 Web 程式中沒多大用處, 但是當你寫的指令碼被用在命令列中時非常有用.
-
如果要使用 readline 函式,你必須安裝 libreadline. 你也能使用非 GPL 的 libedit 庫來替代 readline 庫
-
要使用這些函式,你必須在編譯 PHP 的 CGI 或者 CLI 版本時啟用 readline 支援. 你需要在編譯配置 PHP 時使用 –with-readline[=DIR] 選項. 如果你想使用 libedit 來代替 readline , 配置 PHP 時使用 –with-libedit[=DIR] 選項
shmop
-
Shmop is an easy to use set of functions that allows PHP to read, write, create and delete Unix shared memory segments.
shmop是一個簡單的方式去使用一系列方法讓php讀寫建立刪除Unix共享記憶體區塊
-
構建此擴充套件不需要其他擴充套件。
-
To use shmop you will need to compile PHP with the –enable-shmop parameter in your configure line.
為了使用shmop你需要編譯PHP --enable-shmop引數
snmp
-
The SNMP extension provides a very simple and easily usable toolset for managing remote devices via the Simple Network Management Protocol.
SNMP擴充套件提供了簡單容易可用的工具集去管理遠端裝置通過簡單網路管理協議
-
In order to use the SNMP functions requires installation of the » Net-SNMP package. SNMPv3 functions available only when » OpenSSL package is installed too.
為了使用SNMP方法,要求安裝net-snmp包,snmpv3方法只能當openssl包安裝的時候可用
-
重要提示:為了使用 UCD SNMP 包,需要在編譯之前將 NO_ZEROLENGTH_COMMUNITY 定義為 1。 在配置 UCD SNMP 之後,編輯 config.h 或 acconfig.h,查詢 NO_ZEROLENGTH_COMMUNITY,將 #define 所在行的註釋去掉。修改後應該類似這樣:
#define NO_ZEROLENGTH_COMMUNITY 1
然後使用 –with-snmp[=DIR] 選項編譯 PHP。如果在組合 SNMP 命令時看到奇怪的欄位錯誤,那就是因為沒有遵從上述說明。如果不想重新編譯 UCD SNMP,可以使用 –enable-ucd-snmp-hack 開關編譯 PHP 以繞開上述錯誤。
soap
-
The SOAP extension can be used to write SOAP Servers and Clients.
SOAP擴充套件可以被用來寫soap伺服器和客戶端
-
此擴充套件需要 libxml PHP 擴充套件。這表示需要使用 –enable-libxml ,儘管這將隱式完成因為 libxml 是預設開啟的。
-
To enable SOAP support, configure PHP with –enable-soap .
sockets
-
Socket擴充套件是基於流行的BSD sockets,實現了和socket通訊功能的底層介面,它可以和客戶端一樣當做一個socket伺服器。
-
構建此擴充套件不需要其他擴充套件。
-
這裡描述的socket函式只是PHP擴充套件的一部分,編譯PHP時必須在配置中新增–enable-sockets 配置項來啟用。
sysvmsg sysvsem sysvshm
-
This module provides wrappers for the System V IPC family of functions. It includes semaphores, shared memory and inter-process messaging (IPC).
這個模組提供了System V IPC函式的包裝器,包括了semaphores,shared memory和inter-process messaging
-
構建此擴充套件不需要其他擴充套件。
-
Support for this functions are not enabled by default. To enable System V semaphore support compile PHP with the option –enable-sysvsem . To enable the System V shared memory support compile PHP with the option –enable-sysvshm . To enable the System V messages support compile PHP with the option –enable-sysvmsg .
預設不支援這些方法,為了啟用此魔窟啊,在編譯PHP的時候需要加入--enable-sysvsem --enable-sysshm --enable-sysvmsg編譯開關
tidy
-
Tidy is a binding for the Tidy HTML clean and repair utility which allows you to not only clean and otherwise manipulate HTML documents, but also traverse the document tree.
Tidy是一種保持html清理和修復工具,不僅允許你清理而且還能操縱html文件,也能遍歷文件樹
-
To use Tidy, you will need libtidy installed
-
This extension is bundled with PHP 5 and greater, and is installed using the –with-tidy configure option.
wddx
-
WEB分散式資料交換是為WEB發展而設計的一項基於XML 的技術。WDDX用於在WEB應用程式的之間不同的部分傳送結構化的資料,這一應用程式可以被分佈到各種各樣的WEB伺服器。它允許一個簡單地機制來傳遞資料並且甚至可以在不同的平臺之間交換資料。
-
此擴充套件需要 libxml PHP 擴充套件。這表示需要使用 –enable-libxml ,儘管這將隱式完成因為 libxml 是預設開啟的。
-
After installing the required expat library, compile PHP with –enable-wddx , and use –with-libexpat-dir for expat.
xmlrpc
-
xmlrpc是使用http協議做為傳輸協議的rpc機制,使用xml文字的方式傳輸命令和資料。
-
此擴充套件需要 libxml PHP 擴充套件。這表示需要使用 –enable-libxml ,儘管這將隱式完成因為 libxml 是預設開啟的。
-
預設情況下在 PHP 中是不能使用 XML-RPC 支援的。你需要使用 –with-xmlrpc[=DIR] 配置選項編譯 PHP 才能夠使用 XML-RPC 支援。從 PHP 4.1.0 開始附帶了此擴充套件。
xsl
-
The XSL extension implements the XSL standard
-
此擴充套件需要 libxml PHP 擴充套件。這表示需要使用 –enable-libxml ,儘管這將隱式完成因為 libxml 是預設開啟的。
-
PHP 5 includes the XSL extension by default and can be enabled by adding the argument –with-xsl[=DIR] to your configure line (DIR being the libxslt installation directory).
zip
-
此擴充套件可以讓你透明地讀寫ZIP壓縮文件以及它們裡面的檔案。
-
此擴充套件用到 Jean-loup Gailly 和 Mark Adle 的 » zlib 裡的函式。
-
為了使用這些函式,必須在編譯 PH P時用 –enable-zip[=DIR] 配置選項來提供 zip 支援,其中 [DIR]是 » ZZIPlib 庫安裝路徑。
zlib
-
This module enables you to transparently read and write gzip (.gz) compressed files, through versions of most of the filesystem functions which work with gzip-compressed files (and uncompressed files, too, but not with sockets).
這個模組允許你轉換讀寫gzip壓縮檔案,在大多數檔案系統函式下與gzip壓縮檔案工作,但是不能用於sockets
-
This module uses the functions of » zlib by Jean-loup Gailly and Mark Adler. You have to use a zlib version >= 1.0.9 with this module.
-
Zlib support in PHP is not enabled by default. You will need to configure PHP –with-zlib[=DIR]
編譯安裝
首先先進行PHP的預設安裝
./configure --enable-fpm --with-fpm-user=_www --with-fpm-group=_www --with-config-file-path=/usr/local/etc --with-config-file-scan-dir=/usr/local/etc/php.d --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql-sock=/tmp/mysql.sock
然後對上面所有差異的模組擴充套件進行編譯安裝
cd ext/XXX
phpize
./configure --enable/with-XXX
make
sudo make install
試驗到最後,發現除了openssl和gd庫,其他都能通過OS X自帶的庫檔案完美安裝,openssl是在/usr/include缺少標頭檔案,gd庫是沒有自帶的lib,如果有其他朋友試驗出靜態庫編譯的方法,歡迎指正。
OpenSSL庫的安裝方法
經過一番研究,發現了一種安裝openssl靜態庫來實現openssl.so擴充套件的方式,首先下載openssl的原始碼,版本隨意,只要能符合php的要求,然後解壓出兩個資料夾,一個命名為openssl-i386,一個為openssl-x64,然後進入這兩個資料夾,分別使用
./Configure darwin-i386-cc
./Configure darwin64-x86_64-cc
然後分別make編譯,編譯完成後進入上級目錄使用
lipo -create openssl-i386/libcrypto.a openssl-x64/libcrypto.a -output libcrypto.a
lipo -create openssl-i386/libssl.a openssl-x64/libssl.a -output libssl.a
這樣就整合了i386和x86_64的靜態庫,然後包括標頭檔案和靜態庫,統統複製到xcode sdk目錄或者隨便什麼符合unix安裝結構的目錄
cd php/ext/openssl
mv config0.m4 config.m4
phpize
./configure --with-openssl=/path/to
make
sudo make install
GD庫的安裝方法
試驗了一下,發現蘋果自帶的php內gd庫只有libpng和libjpeg兩個庫,那麼解決方法就出來了,只需要將libpng和libjpeg庫都編譯成靜態庫,就能夠完美實現gd庫的編譯了
首先我們下載libjpeg和libpng,下載完後解壓
cd XXX
./configure --prefix=/path/to --enable-static
make
make install
注意!由於是編譯安裝到自定義目錄,所以每個庫的
./configure –prefix=/path/to是必須的。
最後請注意將所有的dylib等動態庫檔案全部刪除或者重新命名,只留下xxx.a靜態庫檔案,否則編譯的時候php會優先使用動態庫檔案,那樣就無法刪除/path/to資料夾了
然後進入PHP目錄
cd ext/gd
phpize
./configure --with-gd --with-png-dir=/path/to --with-jpeg-dir=/path/to --enable-gd-native-ttf
make
sudo make install
如有錯誤,歡迎指正
實現了在centos6上編譯安裝tengine+php7+mariadb,需要如下依賴
openssl-devel pcre-devel jemalloc-devel libaio-devel
libxml2-devel
bzip2-devel
libcurl-devel
openldap-devel
readline-devel
libedit-devel
net-snmp-devel
libtidy-devel
libxslt-devel
libpng-devel libjpeg-devel
順帶著記錄下開發環境的編譯引數
./configure --enable-fpm --with-fpm-user=www_data --with-fpm-group=www_data --with-config-file-path=/usr/local/etc --with-config-file-scan-dir=/usr/local/etc/php.d --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-mysql-sock=/tmp/mysql.sock --enable-bcmath --with-bz2 --enable-calendar --with-curl --enable-exif --enable-ftp --with-gd --with-jpeg-dir --with-png-dir --enable-gd-native-ttf --enable-mbstring --with-openssl --with-readline --with-libedit --enable-shmop --enable-soap --enable-sockets --enable-sysvsem --enable-sysvshm --enable-sysvmsg --enable-wddx --with-xmlrpc --enable-zip --with-zlib