赞
踩
1、配置apache支付php5
编辑 /usr/local/apache2/conf/httpd.conf 文件
找到:
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
在后面添加:
AddType application/x-httpd-php .php(使Apcche支持PHP)
AddType application/x-httpd-php-source .php5
找到:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
添加:
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
找到:
#ServerName www.example.com:80
修改为:
ServerName 127.0.0.1:80或者ServerName localhost:80
-----------------------------------------------------------------------------------------------------------------
二、安装PHP
安装之前先安装:libxml2,libxml2-devel
yum install libxml2 -y
yum install libxml2-devel -y
1、 下载
http://www.php.net/downloads.php
2、解压
tar -zxvf php-5.3.16.tar.gz
3、建立目标文件夹
mkdir /usr/local/php
4、配置
./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs
--with-mysql=/usr/local/mysql --with-pdo-mysql=/usr/local/mysql
--with-mysqli=/usr/local/mysql/bin/mysql_config
(1)-with-apxs2=/usr/local/apache/bin/apxs apxs是一个为Apache 2 HTTP服务器编译和安装扩展模块的工具,使之可以用由mod_so提供的LoadModule指令在运行时加载到Apache服务器中。我的理解是通过这个工具把PHP模块动态加载到Apache中
(2)--with-mysql 加载mysql扩展
(3)--with-pdo-mysql 加载pdo扩展
(4)--with-mysqli 加载mysqli扩展
5、编译和安装
make;make install
6、配置文件
cp /usr/local/src/php-5.3.16/php.ini-development /usr/local/php/lib/php.ini
7.重启apache
8.测试
在apache的htdocs下建立一个php文件test.php,里面的内容如下:
<?php
phpinfo();
?>
然后在浏览器里输入http://127.0.0.1/test.php
php中GD扩展库的动态加载:
在运行phpize之前先安装yum install autoconf
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
phpize浅谈
一、phpize是干嘛的?
phpize是用来扩展php扩展模块的,通过phpize可以建立php的外挂模块
二、如何使用phpize?
当php编译完成后,php的bin目录下会有phpize这个脚本文件 。在编译你要添加的扩展模块之前,执行以下phpize就可以了;
------------------------------------
# 如果在编译的时候忘记添加某些模块,可以使用这种办法来重新编译添加!
# 首先,进入PHP目录(未编译)的扩展目录
cd /home/soft/php-5.2.14/ext/ftp/
# 调用phpize程序生成编译配置文件
# find / -name phpize
/usr/local/php/bin/phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519
# 编译扩展库
/configure –with-php-config=/usr/local/php/bin/php-config
make
# make成功执行后,生成的扩展库文件在当前目录的 modules 子目录下
# 编辑php.ini文档,找到extension_dir的目录,将编译好的扩展文件复制到extension下面
vim /usr/local/php/etc/php.ini
# extension_dir = “/usr/local/php/lib/”
# extension=ftp.so
复制ftp扩展库到相应的目录下:
cp ftp.so /usr/local/php/lib/
重启apache服务器后在浏览器查看phpinfo是否打印出ftp支持
----------------------------------------
二、安装MySQLi扩展
在这里要用到phpize,phpize 命令是用来准备 PHP 扩展库编译环境,一般在你安装好PHP后,会在安装PHP的bin目录下找到这个命令。
如果在执行phpize命令后出现找不到autoconf之类的提示,请安装好autoconf后再次执行。
以下指令的目录路径,请网友们根据自己系统的实际情况作相应修改。
PHP源码包文件夹下的EXT文件夹就是放置着目前版本的可用扩展,CD进去看看都有哪些你需要的?应该看到mysqli文件夹了吧~~~
cd /opt/software/php-5.3.4/ext/mysqli
在当前目录下执行phpize
[root@localhost mysqli]#/opt/php/bin/phpize
Configuring for:
PHP Api Version: 20090626
Zend Modeule Api No: 20090626
Zend Extension Api No: 220090626
[root@localhost mysqli]#./configure –with-php-config=/opt/php/bin/php-config –with-mysqli=/opt/mysql/bin/mysql_config
[root@localhost mysqli]#make
到modules目录下找到mysqli.so库文件复制到/usr/local/php/lib/下
cp mysqli.so /usr/local/php/lib/
编辑php.ini文件
cd /usr/local/php/lib/
vim php.ini
首先找到extension_dir设置php扩展所在目录:extension_dir ='/usr/local/php/lib/'
然后找到extension添加mysqli扩展库:extension=mysqli.so
之后重新启动Apache服务,再次打开PHP信息页便可看到MySQLi项。
/usr/local/apache/bin/apachectl restart
在浏览器输入a.php查看phpinfo()打印的结果是否包含gd库
localhost/a.php
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
GD扩展库加载:
1.在php源码文件下进入gd目录:
cd ext/gd/
2.运行phpize:
/usr/local/php/bin/phpize
3.配置gd库:
./configure –with-php-config=/opt/php/bin/php-config
注意配置期间如有错误下面有解决#/usr/local/php/bin/phpize方案。
4. 编译:
make
5.到modules下会看到编译出的gd.so扩展库文件,复制到/usr/local/php/lib/
cd modules
cp gd.so /usr/local/php/lib/
6.打开php.ini文件
cd /usr/local/php/lib/
vim php.ini
加入extention=gd.so到extension部分.
7 .重启apache然后在浏览器测试phpinfo打印中是否友gd扩支持.
--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Linux系统下手动安装pdo_mysql
又遇到错误了:configure: error: Cannot find php_pdo_driver.h.
找了一下资料,没发现有人遇到过这种问题,用locate php_pdo_driver.h 发现在pdo模块目录上有,查了一下资料发现,要安装pdo_mysql必须先安装pdo模块,好吧,先装pdo模块吧
cd php5.4/ext/pdo/
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config --enable-pdo=shared
make &&make install
cd php5.4/ext/pdo_mysql/
/usr/local/webserver/php/bin/phpize
./configure --with-php-config=/usr/local/webserver/php/bin/php-config --with-pdo-mysql=/data/mysql/bin/mysql_config
make &&make install
编译成功后会看到php安装目录下出现了扩展模块的目录
交以下几行添加至php/lib/php.ini 文件上
extension_dir = "/usr/local/webserver/php/lib/php/extensions/no-debug-non-zts-20100525/"
extension=pdo.so
extension=pdo_mysql.so
extension=memcache.so
[root@localhost yum.repos.d]# php -m
[PHP Modules]
Core
ctype
curl
date
ereg
fileinfo
filter
hash
iconv
json
mbstring
memcache
mysql
pcre
PDO
pdo_mysql
Phar
posix
Reflection
session
sockets
SPL
sqlite3
standard
sysvmsg
sysvsem
sysvshm
tokenizer
zlib
[Zend Modules]
或者:/usr/local/webserver/php/bin/php -r "phpinfo();"|grep -i pdo_mysql
终于成功了
----------------------------------------------------------------------
-----------------------------------------------------------------------
以下是配置时的错误的解决方案
-----------------------------
checking for T1lib support... no
checking whether to enable truetype string function in GD... yes
checking whether to enable JIS-mapped Japanese font support in GD... no
checking for fabsf... yes
checking for floorf... yes
configure: error: jpeglib.h not found.
解决方法 yum install -y libjpeg libjpeg-devel
-------------------------------------------------------------------------------
checking whether to enable JIS-mapped Japanese font support in GD... no
checking for fabsf... yes
checking for floorf... yes
checking for jpeg_read_header in -ljpeg... yes
configure: error: png.h not found.
解决方法 yum install -y libpng libpng10 libpng10-devel libpng-devel
----------------------------------------------------------------------------------------------
checking whether to enable JIS-mapped Japanese font support in GD... no
checking for fabsf... yes
checking for floorf... yes
checking for jpeg_read_header in -ljpeg... yes
checking for png_write_image in -lpng... yes
If configure fails try --with-xpm-dir=<DIR>
configure: error: freetype.h not found
解决方法 yum install freetype-devel -y
---------------------------------------------------------------------------------
checking for ANSI C header files... (cached) yes
checking for LDAP support... yes
checking for LDAP Cyrus SASL support... yes
configure: error: Cannot find ldap.h
解决方法 yum install nss_ldap openldap openldap-clients openldap-devel openldap-servers
checking for LDAP support... yes
checking for LDAP Cyrus SASL support... yes
configure: error: Cannot find ldap libraries in /usr/lib.
解决方法cp -frp /usr/lib64/libldap* /usr/lib 即可
-----------------------------------------------------------------
/usr/bin/ld: cannot find -lltdl
collect2: ld returned 1 exit status
make: *** [sapi/fpm/php-fpm] Error 1
解决方法
cd libmcrypt-2.5.8/libltdl/
./configure --enable-ltdl-install
make && make install
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
linux下php默认不开启gd库,也不支持DOMDocument #即 DOM扩展
没有gd库的话,验证码显示不了,
没有xml.so的话,php操作不了xml,好端端的程序就运行不起来了
网上一堆人说要重新编译php,安装,扯淡,怎么不说重装系统呢。依赖项能折腾死。
因此先查看他们版本
rpm -qa |grep php-gd
rpm -qa |grep php-xml
如果没有装,就无输出。于是
yum install php-gd
yum install php-xml
如果 ubuntu,debian系的,设置好源后apt-get install 文件名
再service httpd restart 重启apache 即可!
如果是自己编译的php,那就执行上面的之后可能还要手动添加扩展:
find / -name php.ini 找到php.ini路径
再vim 路径,
看看extension_dir=什么,
记下扩展文件夹路径
用find / -name dom.so 等,分别找到
dom.so xmlwriter.so xmlreader.so xsl.so gd.so
移动到php.ini指定的扩展文件夹里
vim php.ini路径,
加上
extension=dom.so
extension=gd.so
等等上面5个so重启apache即可。
没有yum源的话可以自己找一个,运气好能找到,找不到的话就在这里搜rpm装。这里的rpm解决了令人头痛的依赖。很不错。
http://rpmfind.remotelan.net/linux/RPM/index.html
如果出现 Header V3 DSA signature_ NOKEY, key ID
error: Header V3 DSA signature: BAD, key ID
之类的错误,使用强制安装即可
rpm -ivh jdk-1_5_0_07-linux-i586.rpm --nodeps --force
centos的话也可以导入新GPG key:
rpm --import /etc/pki/rpm-gpg/RPM*
问题解决!
更多1
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。