Apache使用多個docker php-fpm

原本centos linux安裝Apache及php5.4(php-fpm),最近一些framework只支援php7.2,想到要昇級或共存就覺得會有一場災難,想說是否可以使用docker php7.2-fpm來直接使用,減少系統的昇級或更換過程的一些問題。

可以直接略過1,2二步奏直接pull build好的images

https://hub.docker.com/r/catyku/php-fpm7.2/

1.首先建立自己需要的php-fpm Dockerfile

2.編譯Dockerfile

3.然後啟動docker

因為9000 port已經給原本系統的php5.4-fpm使用了,只好把它調開,並指定www工作資料夾給php7.2-fpm

(建議可以細調php-fpm的設定檔,或是把設定檔也-v出來)

更多內容 Apache使用多個docker php-fpm

docker安裝apache、mariadb、php

在docker安裝Apache php及Mariadb服務,可以快速部署安裝於多種OS,不管是在開發或是正式上線環境都可以一樣。

images使用是官方的apache php 7.2版本;mariadb:latest,其中apache-php部份還需要另外安裝mysqli擴展套件。

《Docker —— 從入門到實踐-》正體中文版

指令如下

資料庫部份

參數--restart unless-stopped可以讓os在重開機時自動啟動docker container,不過自已下指令停止時不會自動再啟動

更多內容 docker安裝apache、mariadb、php

Centos 7安裝php-fpm及使用mpm event

mpm要修改成event模式時,在預設狀況下修改apache的config 重啟apache會有錯誤

參考資料Apache的三种MPM模式比较:prefork,worker,event

ps.怎麼知道目前apache是什麼模式呢?可以輸入

Server MPM:event

httpd-V

更多內容 Centos 7安裝php-fpm及使用mpm event

[PHP]自動取號(編碼)程式

使用php撰寫程式的人,最常使用的資料庫應該是MySQL,MySQL本身已經有提供自動取號的功能,不過在某些狀況上可能並不適用,而已也有些資料庫並沒有提供自動給號的功能的。

自動取號,主要用在key值的產生,可以得到唯一的編號,而這個編號是有一定規則的,像是(檔頭+年份+流水號)之類的,用來識別此筆資料,而產生這個編號有很多種方式,如:

  • 資料庫本身提供此功能,ex:mysql的Auto Increment
  • 利用一個Table存放目前編號,再使用stored procedure或是程資語言來取號
  • 其它...

之前有寫過一個Oracle Store procedure的取號程式,而這次提供利用php程式來取得編號,取號的原則有幾個來確保取號不會錯誤:

  1. 取號後,不管有無使用,則此編號已不會再產生
  2. 要使用transaction功能來取號及存入取到號碼(此範例並未用到交易)

這個範列的結果

更多內容 [PHP]自動取號(編碼)程式

如何新增Joomla樣板(template)

joomla網頁主要是由樣板html及後台資料所組合而成的,可先由photoshop、Dreamviewer等軟體製作好畫面並切好成一區塊一區塊的的,再由joomla Module來控制輸出資料狀況,這就是樣板樣生成網頁的方式。

Joomla安裝完成後會有幾個樣板範例,可由這幾個範例來做延伸,下圖是安裝完後的首頁內容。

joomla安裝後預設樣板資料

可以把網頁內容分成數個區塊,每一個區塊的資料都是由joomla的module對應所產生的內容。

joomla樣版切片

更多內容 如何新增Joomla樣板(template)