Chinese description of common PHP compilation parameters,
Explanation of commonly used parameters for compiling PHP
Copy code The code is as follows:
--prefix=/usr/local/php #Specify the php installation directory
--with-apxs2=/usr/local/apache/bin/apxs #Integrate apache, the apxs function is to use the LoadModule instruction in mod_so to load the specified module into apache, requiring apache to open the SO module
--with-config-file-path=/usr/local/php/etc #Used to specify the path of php3.ini or php4.ini
--with-MySQL=/usr/local/mysql #mysql installation directory, support for mysql
--with-mysqli=/usr/local/mysql/bin/mysql_config #mysqli extension technology can not only call MySQL stored procedures and process MySQL transactions, but also make accessing the database more stable.
--with-mysql-sock=/tmp/mysql.sock #Specify the mysql socket file location
--enable-safe-mode #Enable safe mode, the default value is on
--disable-short-tags #After configuring this option, PHP programs cannot use short tags and must use long tags
--with-exec-dir=DIR #PHP execution path (sometimes for the sake of system security, the directory in which the PHP program must be executed is specified)
--enable-ftp #Turn on ftp support
--enable-zip #Turn on support for zip
--with-bz2 #Turn on support for bz2 files
--with-jpeg-dir #Turn on support for jpeg images
--with-png-dir #Turn on support for png images
--with-freetype-dir #Turn on support for freetype font library
--without-iconv #Close iconv function, conversion between various character sets
--with-libXML-dir #Open support for libxml2 library
--with-XMLrpc #Open the c language of xml-rpc
--with-zlib-dir #Turn on zlib library support
--with-gd #Turn on gd library support
--enable-gd-native-ttf #Support TrueType string function library
--with-curl #Open support for curl browsing tools
--with-curlwrappers #Use curl tool to open url stream
--with-ttf #Turn on freetype1.* support, you don’t need to add it
--with-xsl #Open XSLT file support, extended libXML2 library, requires libxslt software
--with-gettext #Turn on gnu's gettext support, which is used by the coding library
--with-pear #Turn on support for pear command, used for PHP extension
--enable-calendar #Open calendar extension function
--enable-mbstring #Multi-byte, string support
--enable-sqlite-utf8 #Enable sqllite to support utf-8
--enable-bcmath #Enable image size adjustment, this module is used when using zabbix monitoring
--enable-sockets #Open sockets support
--enable-exif #Image metadata support
--enable-magic-quotes #Support for magic quotes
--disable-rpath #Close additional runtime files
--disable-debug #Turn off debug mode
--enable-debug #This option is generally not used unless it is useful when developing PHP programs. It can display additional error messages
--with-ldap=DIR #If you want to use the Directory Protocol (Lightweight Directory Access Protocol, LDAP), you must turn on this option. For details about LDAP, please refer to the RFC documents RFC1777 and RFC1778
--with-mime-magic=/usr/share/file/magic.mime #Magic header file location
--with-apache=DIR #Use this option to allow PHP to be used as an apache module. The string of DIR can be /usr/local/apache or other directories where apache is installed
--with-custom-odbc=DIR #Use custom ODBC function library. Of course, you must specify the CUSTOM_ODBC_LIBS and CFLAGS variables when using this method. For example, when using Sybase SQL Anywhere on a QNX machine, you may need to configure the system environment variables CFLAGS=-DODBC_QNX, LDFLAGS=-lunix and CUSTOM_ODBC_LIBS="-ldblib -lodbc", and add --with-custom-odbc=/ to the PHP configuration. usr/lib/sqlany50
--with-oracle=DIR #Use Oracle database. The Oracle version must be version 7.3 or above. You can also use the environment variable ORACLE_HOME in your PHP program to specify the path to Oracle. For more information about Oracle, please refer to Oracle’s website http://www.oracle.com
--with-sybase=DIR #Use Sybase database. For more information about Sybase, please refer to the Sybase website http://www.sybase.com
--with-sybase-ct=DIR #Use Sybase-CT database
Commonly used parameters for CGI installation:
Copy code The code is as follows:
--enable-fpm #This parameter is only available after applying the PHP-fpm patch. The startup program installed in CGI mode
--enable-fastCGI #Support fastcgi mode to start PHP
--enable-force-CGI-redirect #Start PHP in redirection mode
--with-ncurses #Dynamic library that supports ncurses screen drawing and text terminal-based graphical interaction functions
--enable-pcntl #freeTDS needs to be used, it may be used to link mssql
--with-mcrypt #Extension of mcrypt algorithm
--with-mhash #Extension of mhash algorithm
The above function libraries need to be installed
--with-gmp #Should support a specification
--enable-inline-optimization #Optimize thread
--with-openssl #openssl support, used for encrypted transmission
--enable-dbase #Create DBA as a shared module
--with-pcre-dir=/usr/local/bin/pcre-config #Perl regular library installation location
--disable-dmalloc
--with-gdbm #dba’s gdbm support
--enable-sigchild
--enable-sysvsem
--enable-sysvshm
--enable-zend-multibyte #Support zend multibyte
--enable-mbregex
--enable-wddx
--enable-shmop
--enable-soap
Note: Extensions that need to be installed separately
1. gd library.
2. ming extension.
3. Extensions for mhash and mcrypt
1> After specifying --with-apxs2=/usr/local/apache/bin/apxs, do not activate --enable-fpm and --enable-fastCGI. apxs loads PHP in php module mode. of.
2>Mysql does not need to specify the path to mysql after compiling the Mysql development library.
3> There are basic dependencies in PHP compilation. To compile PHP, you first need to install the XML extension, because the php5 core has XML support turned on by default. Other basic libraries require the following:
4>GD -> zlib, Png, Jpg, if you need to support others, you still need to compile the extension library according to the actual situation. The ttf library needs the support of the freetype library.
5>--enable-magic-quotes is an extremely not recommended parameter. Of course, if you need PHP to do the underlying work for you, it actually does not solve the problem very thoroughly.
6>-with-openssl, requires openssl library.
mysqli is the MySQL driver provided by the MySQL team and has many practical functions and typical features. However, it is not the best choice for MySQL on the PHP platform. PDO has been proven to be a simple, high-concurrency, standard interface that is easy to create and recycle. However, PDO also experienced the memory overflow problem before 5.3. After 5.3, when reading Oracle's LOB resources, if the memory is not limited, the memory will still overflow.
If it is in product mode, it is not recommended to use pear, shmop, ftp, etc. What they have to do is to use C/C++, Java, or even other scripting languages. There are good and fast options. No need to Limited to using PHP to implement. Unfamiliar class libraries and libraries that are not commonly used are not recommended. Magic-quote, session.auto_start, PHP server information, PHP error information, etc. should be closed as soon as possible after compilation is completed to avoid exposing server information.
The Web Server mode corresponding to PHP only requires one of Module, fastcgi, and fpm. The server is not your experimental field. Fastcgi can choose Nginx and lighttpd. In fact, Nginx also uses lighttpd's spwan-fcgi for fcgi process management. fpm uses PHP itself to manage multiple processes, somewhat similar to a back-end proxy. Regardless of the mode, when releasing a product server, process and thread tuning should be performed, and enough performance and stress tests should be conducted to find the best combination of process numbers.
Choose a PHP OPCode cache extension. This is also very important. Under Linux 2.6 core and fcgi, xcache has good practical experience. Others will have serious performance degradation after the number of concurrency increases. If you really want to experience it, you would rather compile several PHP versions than collect various extensions for one version of PHP to adapt to various environments. This will put yourself in a dilemma.
http://www.bkjia.com/PHPjc/885649.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/885649.htmlTechArticlePHP common compilation parameters are explained in Chinese. The explanation of common parameters for compiling PHP is as follows. Copy the code as follows: --prefix=/ usr/local/php #Specify the php installation directory--with-apxs2=/usr/local/apache/bi...