論壇首頁 移動開發技術論壇

广东11远5杀号软件:社交系統ThinkSNS+ PHP開發概述

瀏覽 187 次
精華帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隱藏帖 (0)
作者 正文
   發表時間:2019-05-30  

任四胆拖金额 www.uyjhj.com 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 為例:

圖片1.png

我們點擊綠色框部分的的地址,最后我們通過選擇地區后得到最終地址為://cn2.php.net/distributions/php-7.2.9.tar.xz

我們得到文件下載地址后,登入?Linux,我們現在在服務器下載 PHP 源碼,下載我們使用?curl?命令下載,檢查你的服務器是否有這個命令輸入?curl --help?如果有很大一串內容輸出,則表示有該命令,如果輸出內容為:

-bash: curl: command not found

1

那么,我們使用?CentOS 自帶的?yum?命令進行安裝:

yum?install?-y?curl

1

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

curl?-o php-7.2.9.tar.xz //cn2.php.net/distributions/php-7.2.9.tar.xz

1

WARNING

如果你無法找到準確的文件下載地址,那么你點擊綠色框的鏈接,會進入地區選擇頁面,例如你選擇?China?地區,你會看到一個?cn2.php.net?的鏈接,鼠標放上去,「右鍵」點擊「復制鏈接地址」你粘貼后會得到?//cn2.php.net/get/php-7.2.9.tar.xz/from/this/mirror?這樣的地址,如圖:

圖片2.png

復制得到地址后,我們運行下面的命令進行下載:

curl?-L -o php-7.2.9.tar.xz //cn2.php.net/get/php-7.2.9.tar.xz/from/this/mirror

1

#解壓源碼

解壓源碼之前,請先下載解壓工具:

yum?install?-y?tar?xz

1

然后我們先將?XZ 歸檔解壓為 tar 歸檔:

xz -d php-7.2.9.tar.xz

1

執行完成后,我們輸入?ls?命令,你會看到現在?php-7.2.9.tar.xz?文件已經消失,而多出一個?php-7.2.9.tar?歸檔。此時我們來解壓這個 tar 歸檔:

tar?-xvf php-7.2.9.tar

1

解壓完成后,運行?ls?命令會看到,多出一個?php-7.2.9?的目錄了,好了我們現在就得到了源碼。

如果你解壓步驟失敗,可能是下載的文件不是?.tar.xz?后綴歸檔,也有可能是下載過程中數據丟包,不用擔心。你重新下運行?rm -rf php-7.2.9*?命令,將你之前下載的刪除,然后重新下載即可。

論壇首頁 移動開發技術版

跳轉論壇:
Global site tag (gtag.js) - Google Analytics