查看: 799|回復: 0

[PHP實例] ThinkSNS Plus PHP開發概述

發表于 2018-9-14 13:35:09

       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 [email protected] -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.tar.xz
我們得到文件下載地址后,登入 Linux,我們現在在服務器下載 PHP 源碼,下載我們使用 curl 命令下載,檢查你的服務器是否有這個命令輸入 curl --help 如果有很大一串內容輸出,則表示有該命令,如果輸出內容為:
-bash: curl: command not found

那么,我們使用 CentOS 自帶的 yum 命令進行安裝:
yum install -y curl

等待命令執行完成即可,執行完成后,我們下載 PHP 源碼:

WARNING
如果你無法找到準確的文件下載地址,那么你點擊綠色框的鏈接,會進入地區選擇頁面,例如你選擇 China 地區,你會看到一個 cn2.php.net 的鏈接,鼠標放上去,「右鍵」點擊「復制鏈接地址」你粘貼后會得到 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采用可持續發展的框架開發,底層穩固文檔清晰,支持深度二次開發。
軟件系統圖示僅供參考,更多功能細節請體驗:
ThinkSNS官網:http://www.thinksns.com/


回復

使用道具 舉報