PHP常用编译参数中文说明
PHP编译参数中文详解
在编译PHP时,有许多参数需要设置,这些参数对于确保PHP的正常运行和特定功能支持至关重要。以下是对一些常用PHP编译参数的中文解释,供朋友们参考:
`--prefix=/usr/local/php`:指定PHP的安装目录。
`--with-apxs2=/usr/local/apache/bin/apxs`:整合Apache,使PHP可以通过Apache的mod_so模块加载。
`--with-config-file-path=/usr/local/php/etc`:指定phpi文件的路径。
`--with-MySQL=/usr/local/mysql`:支持MySQL,指定MySQL的安装目录。
`--with-mysqli=/usr/local/mysql/bin/mysql_config`:扩展技术,支持MySQL的存储过程、事务等。
`--with-mysql-sock=/tmp/mysql.sock`:指定MySQL的套接字文件位置。
`--enable-safe-mode`:开启安全模式,默认已开启。
`--disable-short-tags`:配置后,PHP不能使用短标签,必须使用长标签。
`--with-exec-dir=DIR`:指定PHP的执行路径,增强系统安全性。
`--enable-ftp`:开启FTP的支持。
`--enable-zip`:开启对ZIP文件的支持。
`--with-bz2`、`--with-jpeg-dir`、`--with-png-dir`等:分别开启对BZ2、JPEG、PNG等文件或库的支持。
`--without-iconv`:关闭字符集间的转换功能。
`--with-libXML-dir`、`--with-XMLrpc`等:开启对libxml2库、XML-RPC等的支持。
`--with-zlib-dir`:开启zlib库的支持。
`--with-gd`:开启GD库的支持,用于图像处理。
`--enable-gd-native-ttf`:支持TrueType字符串函数库。
`--with-curl`:开启curl浏览工具的支持,用于HTTP请求等。
`--with-curlwrappers`:运用curl工具打开URL流。
`--with-ttf`(已较少使用)和`--with-xsl`:分别开启对freetype和XSLT文件的支持。
`--with-gettext`:开启GNU gettext支持,用于编码库。
`--with-pear`:开启PEAR命令的支持,用于PHP扩展管理。
`--enable-calendar`:开启日历扩展功能。
`--enable-mbstring`:支持多字节字符串处理。
`--enable-sqlite-utf8`:使SQLite支持UTF-8编码。
`--enable-bcmath`:用于图片大小调整等功能的支持,在某些应用中会用到,如zabbix监控。
`--enable-sockets`:开启sockets支持,用于网络编程。
`--enable-exif`:支持图片的元数据读取。
`--enable-magic-quotes`:开启魔术引用的支持,有助于防止SQL注入等安全漏洞。
`--disable-rpath`:关闭额外的运行库文件路径设置。
`--disable-debug / --enable-debug`:分别关闭或开启调试模式,一般开发时启用,生产环境关闭。
`--with-ldap=DIR`:若要使用LDAP协议,则需要开启此选项。
`--with-mime-magic=/usr/share/file/magic.mime`:指定魔术头文件的位置,用于文件类型识别。
`--with-apache=DIR`:以Apache模块方式使用PHP,指定Apache的安装目录。
`--with-custom-odbc=DIR`:使用自定义的ODBC函数库,需要指定相关变量。
这些参数在编译PHP时非常重要,确保根据实际情况和需求进行设置,以确保PHP的正常运行和所需功能的支持。在QNX系统上配置Sybase SQL Anywhere与Oracle数据库交互的PHP环境可谓是一项技术挑战。为了满足这一需求,我们可能需要设置一系列系统环境变量和PHP配置参数。
对于Sybase SQL Anywhere数据库,我们可能需要设置环境变量如`CFLAGS=-DOBC_QNX`、`LDFLAGS=-lunix`以及`CUSTOM_ODBC_LIBS="-ldblib -lodbc"`来确保ODBC驱动的正常工作。我们还需要在PHP配置中加入`--with-custom-odbc=/usr/lib/sqlany50`来指定ODBC库的位置。
针对Oracle数据库,我们需要确保Oracle版本在7.3以上,并在PHP配置中加入`--with-oracle=DIR`。可以使用环境变量`ORACLE_HOME`来指定Oracle的安装路径。Oracle的官方网站提供了丰富的信息资源,以帮助用户更好地理解和使用这个强大的数据库系统。
在CGI方式安装PHP时,我们需要注意一些常用参数的配置。例如,`--enable-fpm`、`--enable-fastCGI`和`--enable-force-CGI-redirect`等与CGI相关的参数需要根据实际需求进行配置。为了支持ncurses屏幕绘制和基于文本终端的图形互动功能,我们需要加入`--with-ncurses`。为了支持加密传输,我们需要加入`--with-openssl`。
在编译和安装过程中,有一些扩展库需要单独安装。例如,gd库、ming的扩展、mhash和mcrypt的扩展等。这些扩展库能够增强PHP的功能和性能。
值得注意的是,当指定了`--with-apxs2=/usr/local/apache/bin/apxs`后,就不要再激活与CGI相关的参数,因为apxs是以php module的模式加载PHP的。Mysql在编译了开发library后,无需再指定mysql的路径。
在编译PHP时,需要关注其依赖关系。例如,需要安装XML扩展、GD库等。对于GD库,需要支持zlib、Png、Jpg等,并根据实际情况编译扩展库。ttf库需要freetype库的支持。
需要注意的是,某些参数如`--enable-magic-quotes`是不推荐的,因为它并不能彻底解决问题。同样,使用mysqli作为MySQL驱动并非最佳选择,而PDO因其简易、高并发性且易于创建和回收的标准接口而被广泛证实为较好的选择。在使用PDO时也要注意内存使用问题。
对于产品模式,某些类库如pear、shmop、ftp等可能不推荐使用。在选择使用这些类库之前,应充分了解其功能和适用场景,避免不必要的麻烦。不熟悉和不常用的库也不推荐使用,应选择稳定、可靠的技术方案来保证系统的稳定性和性能。在服务器配置PHP环境时,一些关键设置如“magic-quote”、“session.auto_start”等应在编译完成后立即关闭,以保护服务器信息不被外泄。这是保障服务器安全的重要步骤。
对于PHP的Web Server模式,Module、fastcgi、fpm三者选其一即可。服务器不是我们的试验场,每一模式的选取都应慎重。fastcgi可以与Nginx和lighttpd配合使用,而Nginx的fcgi进程管理实则借鉴了lighttpd的spwan-fcgi技术。而fpm则是通过PHP自身管理多进程,类似于一个后端代理。无论选择哪种模式,在产品发布前,都必须进行进程和线程的调优,进行充分的性能及压力测试,以找到最优的进程组合。
选择适合的PHP OPCode cache扩展也是至关重要的。在linux 2.6核心、fcgi环境下,xcache有出色的实践表现。并发数增加后,其他缓存方案性能衰减明显。若需测试不同扩展,建议编译多个PHP版本分别进行体验,而不是在一个PHP版本上集成各种扩展以适应各种环境,这样做可能会适得其反,使自己陷入困境。
提醒各位开发者,在配置和发布PHP服务器时,一定要留意服务器信息的保护。确保在第一时间关闭可能暴露服务器信息的设置和端口,如magic-quote和session.auto_start等。合理选择和配置Web Server模式及PHP扩展,确保服务器的稳定性和性能优化,以提供流畅的用户体验和安全的服务器环境。这样,我们的应用程序才能更好地服务于用户,同时也能保障服务器的安全稳定运行。
(由cambrian渲染呈现)
平面设计师
- PHP常用编译参数中文说明
- Express实现前端后端通信上传图片之存储数据库(
- ADO.NET无连接模式的详细介绍
- 基于jQuery实现多标签页切换的效果(web前端开发
- php实现有序数组打印或排序的方法【附Python、C及
- 省市联动效果的简单实现代码(推荐)
- 编写自己的jQuery提示框(Tip)插件
- PHP设计模式之简单投诉页面实例
- PHP的curl函数的用法总结
- asp.net5中用户认证与授权(2)
- IE浏览器下PNG相关功能
- 如何一行行地读取文件?
- 深入探究node之Transform
- PHP错误和异长常处理总结
- js实现多行文本框统计剩余字数功能
- php JWT在web端中的使用方法教程