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 參數。

相關文章
相關標籤/搜索