准备
主机环境: centos6.5
lamp 版本: httpd-2.4.25
- MySQL-5.6.26
- PHP-7.2.13
安装 apache
安装包: httpd-2.4.25.tar.bz2
- apr-1.4.5.tar.gz
- apr-util-1.4.1.tar.gz
- pcre-8.10.zip
安装编译环境:
# yum -y groupinstall "Server Platform Development" "Development tools"
安装 apr:
- # tar zxf apr-1.4.5.tar.gz
- # cd apr-1.4.5
- # ./configure --prefix=/usr/local/apr
- # make && make install
安装 apr-util:
- # tar zxf apr-util-1.4.1.tar.gz
- # cd apr-util-1.4.1
- # ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
- #make && make install
安装 pcre:
- # unzip pcre-8.10.zip
- # cd pcre-8.10
- # ./configure --prefix=/usr/local/pcre
- # make && make install
安装 apache:
- # tar jxf httpd-2.4.25.tar.bz2
- # cd httpd-2.4.25
- # ./configure --prefix=/usr/local/httpd --sysconfdir=/usr/local/httpd/etc/ --enable-so --enable-ssl --enable-CGI --enable-rewrite --with-zlib --with-pcre=/usr/local/pcre/ --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=all --enable-mpms-shared=all --with-mpm=prefork
- (--enable-so --enable-ssl #允许运行时加载 DSO 模块 # 启动 ssl 加密功能
- --enable-CGI --enable-rewrite # 启用 CGI 协议 #启用 URL 重写功能
--with-zlib : 使用指定的 zlib 压缩库
--with-pcre : 使用指定的 pcre 库
- --enable-modules=all # 支持动态启用模块; all: 所有, most: 常用
- --enable-mpms-shared=all #编译并共享模块
- --with-mpm=prefork #指定使用的 MPM 的类型 {prefork|worker|event})
- # make && make install
- # VIM /etc/profile.d/httpd.sh // 添加环境变量
- export PATH=/usr/local/httpd/bin:$PATH
- # ln -sv /usr/local/httpd/include /usr/include/httpd // 导出头文件
- # VIM /etc/man.config
- MANPATH /usr/local/httpd/man // 导出 man 手册
- # cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
- # chmod +x /etc/init.d/httpd
- # service httpd start
- # netstat -antp | grep httpd
- tcp 0 0 :::80 :::* LISTEN 19761/httpd
安装 PHP php7.2 没有 mcrypt
安装依赖包:
- # yum -y install openssl openssl-devel curl curl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel pcre pcre-devel libxslt libxslt-devel bzip2 bzip2-devel
- # tar zxf PHP-7.2.13.tar.gz
- # cd PHP-7.2.13
- #./configure \
- --prefix=/usr/local/php7 \
- --with-apxs2=/usr/local/httpd/bin/apxs \
- --with-config-file-path=/usr/local/php7/etc \
- --with-mysqli \
- --with-pdo-MySQL \
- --with-freetype-dir \
- --with-jpeg-dir \
- --with-PNG-dir \
- --with-zlib \
- --with-libxml-dir \
- --with-curl \
- --with-gd \
- --with-openssl \
- --with-mhash \
- --with-gettext \
- --with-xsl --with-bz2 \
- --enable-inline-optimization \ // 优化线程
- --enable-mysqlnd \
- --enable-mbstring \
- --enable-xml \
- --enable-bcmath \
- --enable-fpm \
- --enable-sockets \
- --enable-zip \
- --enable-SOAP --enable-ftp \
- # make && make install
- # cp /usr/src/PHP-7.2.13/PHP.INI-production /usr/local/php7/etc/PHP.INI
- # VIM /usr/local/httpd/etc/httpd.conf
- LoadModule php7_module modules/libphp7.so // 已有
- AddType application/x-httpd-PHP .PHP // 添加
- DirectoryIndex index.PHP index.html // 添加
- # service httpd restart
测试 apache 连接 PHP:
- # VIM /usr/local/httpd/htdocs/index.PHP
- <?PHP
- echo phpinfo()
- ?>
安装 MySQL
- # yum install -y ncurses-devel libaio-devel cmake
- # groupadd MySQL
- # useradd -M -s /sbin/nologin MySQL -g MySQL
- # tar zxf MySQL-5.6.26.tar.gz
- # cd MySQL-5.6.26
- # cmake \
- -DCMAKE_INSTALL_PREFIX=/usr/local/MySQL \
- -DSYSCONFDIR=/etc \
- -DDEFAULT_CHARSET=utf8 \
- -DDEFAULT_COLLATION=utf8_general_ci \
- -DWITH_EXTRA_CHARSETS=all \
- # make && make install
- # chown -R MySQL:MySQL /usr/local/MySQL/
- # cp /usr/src/MySQL-5.6.26/support-files/my-default.cnf /etc/my.cnf
- # VIM /etc/my.cnf
- basedir = /usr/local/MySQL
- datadir = /usr/local/MySQL/data
- socket = /var/lib/MySQL/MySQL.sock
- # /usr/local/MySQL/scripts/mysql_install_db --user=MySQL --basedir=/usr/local/MySQL/ --datadir=/usr/local/MySQL/data/
- # echo "PATH=$PATH:/usr/local/mysql/bin">> /etc/profile
- # . /etc/profile
- # cp /usr/src/MySQL-5.6.26/support-files/MySQL.server /etc/init.d/mysqld
- # chmod +x /etc/init.d/mysqld
- # chkconfig --add mysqld
- # service mysqld start
测试 PHP 通过 mysqili 连接数据库: 添加 MySQL 用户和密码
- <?PHP
- $link=new mysqli('localhost','root','hzk97106');
- if(!$link){
- echo"database error";
- }else{
- echo "connection successfully!";
- }
- $mysqli->close();
- ?>
测试 PHP 通过 pdo 连接数据库
- <?PHP
- $link=new pdo('mysql:hosts=localhost','root','hzk97106');
- if(!$link){
- echo"database error";
- }else{
- echo "connection successfully!";
- }
- $mysqli->close();
- ?>
安装 MongoDB 并添加到 PHP 扩展
MongoDB 说明: https://docs.mongodb.com/ecosystem/drivers/php/
对于 5.X 来说需要的扩展文件是 mongo.so 文件, 对应的下载链接: https://pecl.php.net/package/mongo
对于 7.X 版本需要生成的扩展文件是 MongoDB.so 文件, 对应的下载链接在这里: https://pecl.php.net/package/mongodb
安装包: MongoDB-Linux-x86_64-rhel62-4.0.2.tgz
- MongoDB-1.4.2.tgz
- # tar zxf MongoDB-Linux-x86_64-rhel62-4.0.2.tgz
- # mv MongoDB-Linux-x86_64-rhel62-4.0.2 /usr/local/MongoDB
- # export PATH=/usr/local/MongoDB/bin:$PATH
- # cd /usr/local/MongoDB/bin/
- # mkdir /usr/local/MongoDB/db
- # touch /usr/local/MongoDB/MongoDB.log
- # VIM MongoDB.conf
- dbpath=/usr/local/MongoDB/db
- logpath=/usr/local/MongoDB/MongoDB.log
- port=27017
- fork=true
- # /usr/local/MongoDB/bin/mongod -f /usr/local/MongoDB/bin/MongoDB.conf
- # echo "PATH=$PATH:/usr/local/mongodb/bin">> /etc/profile
- # . /etc/profile
- # mongo
- # cd /usr/src
- # tar zxf MongoDB-1.4.2.tgz
- # cd MongoDB-1.4.2
- # /usr/local/php7/bin/phpize
- # ./configure --with-PHP-config=/usr/local/php7/bin/PHP-config
- # make && make install
- # VIM /usr/local/php7/etc/PHP.INI
- extension=MongoDB.so // 添加
- # service httpd restart
安装 Redis 并添加到 PHP 扩展
安装包: Redis-3.2.1.tar.gz Redis-3.1.6.tgz
下载地址: http://pecl.php.net/package/redis
- # tar zxf Redis-3.2.1.tar.gz
- # mv Redis-3.2.1 /usr/local/Redis
- # cd /usr/local/Redis/
- # make
- # make install
- # VIM /usr/local/Redis/Redis.conf
- daemonize yes (no -> yes)
- # /usr/local/bin/Redis-server /usr/local/Redis/Redis.conf
- # Redis-cli // 使用客户端
- #Redis-cli shutdown // 关闭客户端
PHP 扩展:
- # tar zxf Redis-3.1.6.tgz
- # cd Redis-3.1.6
- # /usr/local/php7/bin/phpize
- # ./configure --with-PHP-config=/usr/local/php7/bin/PHP-config
- # make && make install
- # VIM /usr/local/php7/etc/PHP.INI
- extension=Redis.so // 添加
- # service httpd restart
测试 PHP 通过 Redis 扩展连接数据库:
- <?PHP
- $Redis = new Redis();
- $Redis->connect('127.0.0.1',6379);
- $Redis->set('name','hzk');
- echo $Redis->get('name'); ?>
来源: http://www.bubuko.com/infodetail-2987823.html