完整的 bash script
base on AWS centos7 : git@github.com:jhaoheng/centos-nginx-php7.x-extension.git 執行 sh env.sh 即可,整體安裝約 20 分鐘
start
- 至 aws
- launch new instance
- market search centos
- choose centos7
centos7 安裝 nginx
- yum -y install epel-release
- yum install nginx
- 驗證在瀏覽器開啟 ip, 注意 port 80 是否有開啟
操作
/bin/systemctl restart nginx
centos7 安裝 php7.x
- yum -y install epel-release
- yum install wget
- wget http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
- rpm -ivh ./remi-release-7.rpm
- yum install –enablerepo=remi,remi-php70 php-fpm php-devel php-mbstring php-pdo php-gd php-xml php-curl php-mysqlnd php-pdo_mysql php-mysqli php-json php-soap php-zip php-sockets php-session php-mcrypt php-date php-openssl php-yaml
source
- 下載位置 http://php.net/downloads.php
- 可參考目前的 ext
- 手動新增 ext, ex:
- cd xml
- phpize
- ./configure
- make && make install
- 查看 module 是否有此套件
操作
/bin/systemctl restart php-fpm
測試
- 找出 nginx.conf : nginx -h
- vi {$path}/nginx.conf
- server 設定參數可參考
https://docs.phalconphp.com/zh/latest/reference/nginx.html
- 請將 fastcgi 設定為 127.0.0.1:9000 <— 必須符合 php-fpm 的 listen 位置
- 在適當位置建立 的 index.php
- 在 browser 輸入 ip 與 index.php
centos7 安裝 phalcon with php7.x
- yun install git
- yum install php-devel pcre-devel gcc make re2c
- 安裝編譯工具 : git clone https://github.com/phalcon/zephir
- cd zephir/
- ./install-nosudo
- 下載 phalcon source : git clone git://github.com/phalcon/cphalcon.git
- cd cphalcon/
- git checkout 適當的版本
- {$Path}/zephir build
- 將 extension=phalcon.so 放入 php.ini
-
php -i grep phalcon
trouble
- undefined symbol: php_json_decode_ex in Unknown on line 0
- 原因在於此 extension=phalcon.so 不能直接放在 php.ini 中,請放置 /etc/php.d/
centos7 安裝 libmemcached 編譯 memcached.so
安裝 libmemcached
- 至官網下載 https://launchpad.net/libmemcached
- wget ….
- cd /libmemcached-1.x.x
- yum groupinstall “Development Tools”
- yum install zlib-static
- ./configure –disable-memcached-sasl
- make && make install
編譯 memcached.so
- git clone https://github.com/php-memcached-dev/php-memcached.git
- git checkout php7
- phpize
- ./configure
- make && make install
- 確定是否將 .so 放入 module 中 :
php -i | grep extension_dir
- cd {dir}
- 檢查是否有 memcached.so
- 確定 extension 是否有加入到 php.ini
-
驗證 php -i grep memcached
centos7 安裝 libmosquitto 編譯 mosquitto.so
安裝 libmosquitto
- 進入官網 : https://mosquitto.org/download/
- 找到 centos7 的 re 的 conf
- 將檔案 mosquitto.repo 放入 /etc/yum.repos.d 即可
The available packages are: mosquitto, mosquitto-clients, libmosquitto1, libmosquitto-devel, libmosquittopp1, libmosquittopp-devel, python-mosquitto.
- 安裝 : yum install libmosquitto-devel
- 安裝後的 lib 路徑, 系統安裝後會提示, 無意外是 /usr/lib64/libmosquitto.so…..
編譯 mosquitto.so
- 下載 git source 後 : https://github.com/mgdm/Mosquitto-PHP
- cd Mosquitto-PHP
- phpize
./configure --with-mosquitto=/usr/lib64/libmosquitto.so
- make && make install
- 驗證 module 是否有 mosquitto.so
- 在 php.ini 中設定 extension=mosquitto.so
-
驗證 : php -i grep mosquitto