ESC-PHP开发环境搭建

在环境搭建以前,最好先肯定目录的结构,好比源码安装在/usr/local/src,应用安装在/usr/localphp

1. 编译安装apache

编译安装apache以前,须要先编译几个apache运行时须要依赖的组件,官网下载地址,下面依次介绍:
1 . Apr html

编译步骤以下mysql

cd /usr/local/src
 wget  http://apache.forsale.plus//apr/apr-1.6.3.tar.gz
 tar -zxvf apr-1.6.3.tar.gz
 cd apr-1.6.3
 ./configure --prefix=/usr/local/apr 
 make && make install

2 . Apr-Util c++

编译步骤以下git

wget  http://apache.forsale.plus//apr/apr-util-1.6.1.tar.gz
 tar -zxvf apr-util-1.6.1.tar.gz
 cd apr-util-1.6.1
 ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
 make && make install

3 . Pcre github

编译步骤以下web

wget  https://sourceforge.net/projects/pcre/files/pcre/8.41/pcre-8.41.tar.gz/download
 tar -zxvf download
 cd pcre-8.41
 ./configure --prefix=/usr/local/pcre
 make && make install

上面几个编译安装完后,就能够安装apache了,安装步骤相似,以下:redis

wget  http://apache.mirror.colo-serv.net//httpd/
 tar -zxvf httpd-2.4.29.tar.gz
 cd httpd-2.4.29
 ./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
 make && make install
注意事项:
  1. 若是是从新编译安装,编译前执行 make clean , 避免一些没必要要的错误。
  2. 安装完后,修改配置文件,将 ServerName 更改为 127.0.0.1:80DocumentRoot 更改为对应的 web根目录 ,将 vhost 的配置文件的注释打开: Include conf/extra/httpd-vhosts.conf
  3. 此时/usr/local/apache/modules的目录下,是没有libphp7.so这个扩展的,须要等php安装完后,才会自动生成。
  4. 通常须要给apache运行用户daemon分配一个额外的组,好比www用户所属组(www用户专门用于管理web,以及ftp登录),方便往后的权限管理。
useradd www  
usermod daemon -g www 
chown -R www:www /网站根目录
chmod -R 770 /网站根目录

而后将配置文件中的 Group 更改为 wwwsql

  1. 关于网站权限问题,能够有以下方案:
  • 如上所说,网站由www用户管理,apache用户加入www组, 其余用户没有任何权限
  • 网站由www用户管理,组和其余人不给任何权限,用acl去单独给apache用户添加权限。
  • 不作任何处理,apache用户视做其余用户,给rx权限。内部须要w权限的目录单独设置。
  1. 别忘了重启, httpd -k restart

2. 编译安装php7.2

编译步骤以下:mongodb

wget http://cn2.php.net/get/php-7.2.0.tar.gz/from/this/mirror
tar -zxvf mirrow
cd php-7.2.0
./configure ./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php7/lib --with-apxs2=/usr/local/apache/bin/apxs --with-mhash --with-openssl --with-mysqli --with-pdo-mysql --with-gd --with-iconv --with-zlib --enable-zip --enable-inline-optimization --enable-debug --enable-shared --enable-xml --enable-bcmath --enable-mbregex --enable-mbstring --enable-ftp --enable-pcntl --enable-sockets --enable-soap --enable-session --with-curl --enable-opcache
make && make install
注意事项:
  1. 若是是从新编译安装,编译前执行 make clean
  2. 在编译安装以前,最好先保证依赖的一些扩展已经安装,能够执行:
yum -y install gcc gcc++ gcc-c++ wget make autoconf bison libxml2 libxml2-devel openssl openssl-devel curl-devel libjpeg-devel libpng-devel freetype-devel
  1. 关于编译选项的含义,能够参考php手册,也能够参考 这篇文章
  2. 安装完成后,须要作一下操做:
cp  /usr/local/src/php-7.2.0/php.ini-development /usr/local/php/lib/php.ini  # 复制配置文件
cp /usr/local/php7/bin/php /usr/bin/php 
cp /usr/local/php7/bin/phpize /usr/bin/phpize
  1. 此时libphp7.so已经编译生成,在httpd.conf里添加 AddType application/x-httpd.php .php

注:这句话既是指定php文件处理器,又是指定php文件mime-type。

echo  "AddType application/x-httpd.php .php" >> /usr/local/apache/conf/httpd.conf

3. 编译安装redis,mongodb

1 . redis
首先从github上clone源码, 地址, 安装步骤以下:

git clone https://github.com/phpredis/phpredis.git
cd phpredis
phpize
./configure --with-php-config=/usr/local/php7/bin/php-config
make && make install、
echo "extension=redis.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`

2 . mongodb
mongodb可使用pecl安装:

pecl install mongodb
echo "extension=mongodb.so" >> `php --ini | grep "Loaded Configuration" | sed -e "s|.*:\s*||"`
注意事项
  1. 编译后的.so文件默认是放在 extension_dir 目录中,可使用 php -i | grep 'extension_dir' 查看,也能够更改php.ini中的设置。
  2. 可使用php -m查看已经加载的module

4. 安装mysql

若是须要在服务器上安装mysql,能够参考这篇文章

5. ossftp

参考github

注意事项

若是挂载的目录,容许其余人查看,能够在挂载的时候指定 -o allow_ohter 参数。

相关文章
相关标签/搜索