PHP安装配置

#tar zxvf php-5.2.9.tar.gz -C ../software

#cd ../software/php-5.2.9

#./configure --prefix=/usr/local/php5   --with-config-file-path=/usr/local/php5 --with-apxs2=/usr/local/apache2/bin/apxs --with-bz2 --with-curl --with-curlwrappers --enable-ftp  --enable-sockets --disable-ipv6 --with-gd --with-jpeg-dir=/usr/local --with-png-dir=/usr/local --with-freetype-dir=/usr/local --enable-gd-native-ttf --with-iconv-dir=/usr/local --enable-mbstring --enable-calendar --with-gettext --with-libxml-dir=/usr/local  --with-zlib --enable-zend-multibyte --with-pdo-mysql=/usr/local/mysql  --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql=/usr/local/mysql

编译选项说明:
--prefix=/usr/local/php5  //指定 php 安装目录 
--with-apxs2=/usr/local/apache2/bin/apxs  //整合 apache,apxs功能是使用mod_so中的LoadModule指令,加载指定模块到 apache,要求 apache 要打开SO模块
--with-config-file-path=/usr/local/php5/etc //指定php.ini位置
--with-MySQL=/usr/local/mysql //mysql安装目录,对mysql的支持
--with-mysqli=/usr/local/mysql/bin/mysql_config   //mysqli扩展技术不仅可以调用MySQL的存储过程、处理MySQL事务,而且还可以使访问数据库工作变得更加稳定。
--enable-safe-mode  //打开安全模式
--enable-ftp  // 打开ftp的支持
--enable-zip  // 打开对zip的支持
--with-bz2    //打开对bz2文件的支持
--with-jpeg-dir  //打开对jpeg图片的支持
--with-png-dir  //打开对png图片的支持
--with-freetype-dir   //打开对freetype字体库的支持
--without-iconv   //关闭iconv函数,种字符集间的转换
--with-libXML-dir  //打开libxml2库的支持
--with-XMLrpc   //打开xml-rpc的c语言
--with-zlib-dir   //打开zlib库的支持
--with-gd    //打开gd库的支持
--enable-gd-native-ttf   //支持TrueType字符串函数库
--with-curl    //打开curl浏览工具的支持
--with-curlwrappers    //运用curl工具打开url流
--with-ttf     //打开freetype1.*的支持,可以不加了
--with-xsl     //打开XSLT 文件支持,扩展了libXML2库 ,需要libxslt软件
--with-gettext     //打开gnu 的gettext 支持,编码库用到
--with-pear    //打开pear命令的支持,PHP扩展用的
--enable-calendar    //打开日历扩展功能
--enable-mbstring    //多字节,字符串的支持
--enable-bcmath    //打开图片大小调整,用到zabbix监控的时候用到了这个模块
--enable-sockets     //打开 sockets 支持
--enable-exif    //图片的元数据支持
--enable-magic-quotes    //魔术引用的支持
--disable-rpath    //关闭额外的运行库文件
--disable-debug   //关闭调试模式
--with-mime-magic=/usr/share/file/magic.mime      //魔术头文件位置
CGI方式安装才用的参数
--enable-fpm //打上PHP-fpm 补丁后才有这个参数,CGI方式安装的启动程序
--enable-fastCGI  //支持fastcgi方式启动PHP
--enable-force-CGI-redirect //重定向方式启动PHP
--with-ncurses //支持ncurses 屏幕绘制以及基于文本终端的图形互动功能的动态库
--enable-pcntl     //freeTDS需要用到的,可能是链接mssql 才用到
mhash和mcrypt算法的扩展
--with-mcrypt //算法
--with-mhash  //算法
以上函数库需要安装
--with-gmp  //应该是支持一种规范
--enable-inline-optimization //优化线程
--with-openssl  //openssl的支持,加密传输时用到的
--enable-dbase   //建立DBA 作为共享模块
--with-pcre-dir=/usr/local/bin/pcre-config    //perl的正则库案安装位置
--disable-dmalloc
--with-gdbm    //dba的gdbm支持
--enable-sigchild
--enable-sysvsem
--enable-sysvshm
--enable-zend-multibyte   //  支持zend的多字节
--enable-mbregex
--enable-wddx
--enable-shmop
--enable-soap

#make && make install #编译,进行安装。

#cp php.ini-dist /usr/local/php/lib/php.ini

在apache2中修改配置文件

#vi /usr/local/apache2/conf/httpd.conf

找到“#AddType application/x-gzip .gz .tgz”

并在后面加入

AddType application/x-compress .Z

AddType application/x-gzip .gz .tgz

AddType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

这两行的目的是让apache识别php。

再找到“DirectoryIndex index.html”

加上 index.php 让它把index.php做为默认页

测试环境:

cd /usr/local/httpd/htdocs/

# vi /usr/local/httpd/htdocs/index.php

输入:

<?

phpinfo();

?>

# /usr/local/apache2/bin/apachectl restart 重启apache服务器

例:浏览器中输入:http://192.168.xxx.xxx/index.php测试一下。如果成功会有相关的php的说明,没成功会提示你保存文件内容。

安装问题:

PHP5.2.10

Make install 时出现:

Fatal error: Error: cannot open phar "/usr/local/src/php-5.2.10/pear/install-pear-nozlib.phar" in /path/php5.2.10/pear/install-pear-nozlib.phar on line 795
make[1]: *** [install-pear-installer] Error 255
make: *** [install-pear] Error 2

解决方法:更换版本

2009-11-11

PHP组程序放到150出现问题,类似以下。

全站提示SQLSTATE[HY000] [2002] Invalid argument,类似信息如下:

Fatal error: Uncaught exception 'Zend_Db_Adapter_Exception' with message 'SQLSTATE[HY000] [2002] Invalid argument' in /home/www/private/ZendFramework-1.9.3PL1/library/Zend/Db/Adapter/Pdo/Abstract.php:144
Stack trace:
#0 /home/www/private/ZendFramework-1.9.3PL1/library/Zend/Db/Adapter/Pdo/Mysql.php(96): Zend_Db_Adapter_Pdo_Abstract->_connect()
#1 /home/www/private/ZendFramework-1.9.3PL1/library/Zend/Db/Adapter/Abstract.php(832): Zend_Db_Adapter_Pdo_Mysql->_connect()
#2 /home/www/private/ZendFramework-1.9.3PL1/library/Zend/Db/Adapter/Abstract.php(902): Zend_Db_Adapter_Abstract->quote(1, NULL)
#3 /home/www/private/ZendFramework-1.9.3PL1/library/Zend/Db/Select.php(930): Zend_Db_Adapter_Abstract->quoteInto('SSHY = ?', 1, NULL)
#4 /home/www/private/ZendFramework-1.9.3PL1/library/Zend/Db/Select.php(463): Zend_Db_Select->_where('SSHY = ?', 1, NULL, true)
#5 /home/www/lelaa/app/models/Public/Ticket.php(235): Zend_Db_Select->where('SSHY = ?', 1)
#6 /home/www/lelaa/app/modules/public/controllers/TicketController.php(329): Public_Tic in /home/www/private/ZendFramework-1.9.3PL1/library/Zend/Db/Adapter/Pdo/Abstract.php on line 144

原因求证:php5.3内置驱动有问题。开始使用php5.3内置mysqlnd编译:
--with-mysql=mysqlnd /
--with-mysqli=mysqlnd /
--with-pdo-mysql=mysqlnd /
解决办法:把编译选项改为:
--with-mysql=/path/to/mysql /
--with-pdo-mysql=/path/to/mysql /
--with-mysqli=/path/to/mysql/bin/mysql_config /

你可能感兴趣的:(apache,PHP,exception,cgi,扩展,Zend)