Plus (讀音:[plʌs],全稱:ThinkSNS+ [θɪŋk es en es plʌs],是 ThinkSNS 系列產品一個重要版本,其軟體識別名稱為 Plus 即 +) 是一個基於 Latest Laravel 框架進行開發的一個功能強大、易於開發和強擴充的社交系統。與其他開源社交程式不同的是 Plus 擁有多年社交系統經驗,不僅易於上手,還便於應用擴充。另一方面,程式採用 PHP 7 嚴格模式,從根本上儘量避免弱級錯誤的產生。同時因為從零開始選擇較好的帶有較好 ORM 的原因,Plus 允許你更具你的需求使用不同資料庫。
如果你想深入學習 Plus,我們為你準備了大量教程級文件。哪怕你不會 Laravel 框架,也能讓你入門框架基礎,並勝任 Plus 應用開發。
如果你是有經驗的 PHPer,那麼你可以瞭解現代流行框架差異,Laravel 就是現代留下框架的佼佼者之一。
#PHP 環境要求
重點
你可能還沒有很好的 Liunx 知識,沒關係,後面的教程會擬定你是零基礎的前提下教學,但是下面的環境要求限制,你需要重點記憶,這是程式能否執行的關鍵所在!
#PHP 版本
您的 PHP 必須大於或者等於 7.1.3 版本,當然,我們推薦 7.2. 版本。
#函式
在許多整合環境中,預設會禁用一些函式,當然,這些函式在 Plus 的 Web 服務中不是必須的,但是如果你在 CLI 環境下操作,這些函式將會成為必須:
· exec
· system
· scandir
· symlink
· shell_exec
· proc_open
· proc_get_status
#擴充
這些擴充是 Plus 執行時必須的擴充,你必須包裝你的 PHP 環境已安裝這些擴充:
· dom 用於解析 XML 等文件使用
· fileinfo 用於檔案上傳,或者獲取檔案 Meta 資訊使用
· GD 用於圖片處理的庫
· json 一般 PHP 核心自帶,用於處理 JSON 文件和轉換
· mbstring 用於相容性的字串處理
· openssl 用於應用祕鑰加密等,同時也是內部請求 HTTPS 資源使用
· PDO 資料庫操作抽象庫
#選擇性擴充
選擇性擴充是更具你的需求,選擇性安裝的擴充,選擇性擴充如下:
· pdo_mysql 如果你使用 MySQL 資料庫,則必須安裝
· pdo_pgsql 如果你使用 PostgreSQL 資料庫,則必須安裝
· pdo_sqlite 如果你使用 SQLite 資料庫,則必須安裝
· pdo_dblib 如果你使用 Microsoft SQL Server 資料庫,則必須安裝
#可選或替換性擴充
· imagick 此庫是一個比 GD 庫處理圖片更好的一個擴充,可以用於替換 GD 庫,此庫為可選性,安裝後不可解除安裝 GD 庫,GD 庫可以用於更加高效的圖片基礎處理。
#資料庫
Plus 支援四種資料庫的使用,但是我僅推薦使用兩個資料庫。
· MySQL | MariaDB
o MySQL 請使用 >= 5.7 版本,當然,如果能用 MySQL 8 再好不過。
o MariaDB 是 MySQL 原作者後開發的一款關係型資料庫,相容 MySQL,如果你要使用,請選擇大於或等於 10.3 版本。
· PostgreSQL 資料庫是及其推薦的一個資料庫,費用高昂但是起計算效能非常好,有條件可以直接使用。
· SQLite 是一個輕量級資料庫,如果你只是想體驗倒是不妨嘗試,問題在於 SQLite 對於 Emoji 的儲存有待改善(目前都不支援儲存 Emoji)所以原則上 Plus 是不允許使用 SQLite 的。
· Microsoft SQL Server 就像不推薦 SQLite 一樣,我們同樣不推薦 Microsoft SQL Server 除非你確定你的系統不適用 Emoji 那麼你可以無顧慮的使用 Microsoft SQL Server 了,因為 Microsoft SQL Server 同樣支援 utf8 字符集,卻無法支援四位長度的 Emoji 字元。
WARNING
答應我,在 SQLite 和 Microsoft SQL Server 沒有很好預設支援 Emoji 之前,暫時用 MySQL 或者 PostgreSQL 好嗎?我是認真的!不然你會遇到很多奇怪的問題!
#教程說明
從後面的教程開始,我們將從零基礎開始教學,教學環境為 CentOS 7.4 版本的 Linux。教學環境如下:
· 教學使用伺服器系統: CentOS 7.4
· 教學者使用系統: macOS
· SSH 工具: Termius
· 教學 PHP 版本:7.2
· 教學 MySQL 版本: 5.7
· 教學 Web 元件:Nginx
教學內容包括:
· 登入 Linux
· 安裝 PHP 7.2
· 安裝 MySQL 5.7
· 安裝 Plus
· Nginx 安裝
· 釋出站點
#登入 Linux
這裡虛擬一臺主機,其 IP 地址我們假設為 hostname(正常情況下是一段 IP 地址),埠為 22,操作使用者為 root。
在你的 SSH 工具中輸入 ssh root@hostname -p 22 然後回車。然後輸入你的主機密碼即可。
hostname 等資訊登入的時候替換為你的真實資訊。
我們進入主機後,會進入使用者家目錄,如果你不知道家目錄在說明為主,輸入 pwd 命令即可看到。
#編譯 PHP
本章將會帶領你在 CentOS 7.4 系統上編譯安裝 PHP 7.2 環境,以及缺少的擴充安裝。
#下載原始碼
我們開啟PHP 官網下載頁找到最新的 PHP 7.2 版本,以 7.2.9 為例:
我們點選綠色框部分的的地址,最後我們通過選擇地區後得到最終地址為:http://cn2.php.net/distributions/php-7.2.9...
我們得到檔案下載地址後,登入 Linux,我們現在在伺服器下載 PHP 原始碼,下載我們使用 curl 命令下載,檢查你的伺服器是否有這個命令輸入 curl --help 如果有很大一串內容輸出,則表示有該命令,如果輸出內容為:
-bash: curl: command not found
那麼,我們使用 CentOS 自帶的 yum 命令進行安裝:
yum install -y curl
等待命令執行完成即可,執行完成後,我們下載 PHP 原始碼:
curl -o php-7.2.9.tar.xz http://cn2.php.net/distributions/php-7.2.9.tar.xz
WARNING
如果你無法找到準確的檔案下載地址,那麼你點選綠色框的連結,會進入地區選擇頁面,例如你選擇 China 地區,你會看到一個 cn2.php.net 的連結,滑鼠放上去,「右鍵」點選「複製連結地址」你貼上後會得到 http://cn2.php.net/get/php-7.2.9.tar.xz/fr... 這樣的地址,如圖:
複製得到地址後,我們執行下面的命令進行下載:
curl -L -o php-7.2.9.tar.xz http://cn2.php.net/get/php-7.2.9.tar.xz/from/this/mirror
#解壓原始碼
解壓原始碼之前,請先下載解壓工具:
yum install -y tar xz
然後我們先將 XZ 歸檔解壓為 tar 歸檔:
xz -d php-7.2.9.tar.xz
執行完成後,我們輸入 ls 命令,你會看到現在 php-7.2.9.tar.xz 檔案已經消失,而多出一個 php-7.2.9.tar 歸檔。此時我們來解壓這個 tar 歸檔:
tar -xvf php-7.2.9.tar
解壓完成後,執行 ls 命令會看到,多出一個 php-7.2.9 的目錄了,好了我們現在就得到了原始碼。
如果你解壓步驟失敗,可能是下載的檔案不是 .tar.xz 字尾歸檔,也有可能是下載過程中資料丟包,不用擔心。你重新下執行 rm -rf php-7.2.9* 命令,將你之前下載的刪除,然後重新下載即可。
For 企業/商業:利用ThinkSNS軟體系統可快速搭建所需的網站/微信版/APP 軟體,無須從 0 開發,省時省心省研發成本;
For 創業者:ThinkSNS提供優秀創業扶持優惠,助力創業初期完美起飛;
For 個人粉絲:ThinkSNS10 年開源,提供業內開發參考,免費體驗使用;
For 開發者:ThinkSNS採用可持續發展的框架開發,底層穩固文件清晰,支援深度二次開發。
本作品採用《CC 協議》,轉載必須註明作者和本文連結