开发者学堂课程【企业Web常用架构LAMP-LNMP实战:Php的编译与配置】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/385/detail/4829
Php的编译与配置
目录
一、分类
二、编译安装
三、如何添加一个模块
四、测试php安装正确性以及数据库连通性
一、分类
动态编译与静态编译(默认情况下为静态编译)
二、编译安装php5.6.18
cd php-5.6.18
./configure
--prefix=/usr/local/php\
--with-config-file-path=/usr/local/php/ect\
(指定php文件路径)
--with-apxs2=/usr/local/apache2/bin/apxs\
(指定spxs的编译环境)
--with-mysql-/usr/local/mysql/\
(指定php是mysql支持)
--with-libxml-dir=/usr/local/libxml2/\
--with-png-dir=/usr/local/libpng/\
--with-jpeg-dir=/usr/local/jpeg6/\
--with-freetype-dir=/usr/local/freetype/\
--with-gd=/usr/local/gd2/\
--with-zlib-dir=/usr/local/zlib/\
--with-mcrypt=/usr/local/libmcrypt/\
--with-mysqli=/usr/local/mysql/bin/mysql_config\
(指定类似链接mysql的接口)
--with-xpm-dir=/usr/lib64/
--enable-soap \
--enable-mbstring=all\
--enable-sockets
/php-5.5.5/ext/gd/gd.c-o ext/gd/gd.lo
/usr/local/src/php-5.5.5/ext/gd/gd.c:57:22:错误:X11/xpm.h: 没有那个文件或目录
make:***[ext/gd/gd.lo] 错误 1
yum install libXpm-devel
三、如何添加一个模块
#cd/app/lamp/php-5.6.18/ext/mbstring
#/usr/local/php/bin/phpize (假设php安装在/usr/local/php目录下)
#./configure--with-php-config=/usr/local/php/bin/php-config
#make&&make install
[root@localhost mbstring]#make install
Installing shared extensions: /usr/local/php/lib/php/extentsions/no-debug-zts-20131226/
Installing header files: /usr/local/php/include/php/
四、测试php安装正确性以及数据库连通性
与 mysql 相关的三个模块
mysql、mysqli、pdo-mysql
以上三个相关模块,都是 php 向 mysql 做读写操作的时候的接口。只有安装了以上模块,php 才能对 mysqul 做正确的读写。
其中,最早最原始的方式,是 mysql ,使用方法最简单。
Mysqli 是 mysql 的升级版本。
pdo-mysql 是通用型的 php 与 mysql 交互方式,提供统一的接口。根据需要,这三个接口,只需要安装一个即可。
关于 php.ini 生效路径问题
PHP 将按照如下顺序依次查找该文件:
1. 当前工作目录;
2. 环境变量 PHPRC 指明的路径;
3.编译时指定的路径。
上传文件关于如下几个参数:
控制上传有以下两个参数:
post_max_size=128M
upload_max_fliesize=128M
#这两个设置一样即可,可以更大但要注意超时
max_execution_time=30
(可执行的时间,在上传文件时最大的上传时间,超过后会有提示)
max_input_time=600
(设置单位为s)
memory_limit=32M
(设置系统内存)