V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Zhiyicx
V2EX  ›  PHP

ThinkSNS Plus PHP 开发概述

  •  
  •   Zhiyicx · 2018-09-14 13:36:35 +08:00 · 2319 次点击
    这是一个创建于 2292 天前的主题,其中的信息可能已经有所发展或是发生改变。

    ThinkSNS Plus PHP 开发概述 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 为例:

    e65437f8d12b44eca52190d6c9484264.png

    我们点击绿色框部分的的地址,最后我们通过选择地区后得到最终地址为: 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 源码:

    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/from/this/mirror 这样的地址,如图:

    20221a41ad164273861c5c5fc7663d2b.png

    复制得到地址后,我们运行下面的命令进行下载:

    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 采用可持续发展的框架开发,底层稳固文档清晰,支持深度二次开发。

    软件系统图示仅供参考,更多功能细节请体验:

    ThinkSNS 官网: http://www.thinksns.com/

    8 条回复    2018-10-10 16:31:42 +08:00
    kumfo
        1
    kumfo  
       2018-09-14 15:20:18 +08:00
    还是用 ThinkPHP 开发的吗?
    cw723
        2
    cw723  
       2018-09-14 15:22:45 +08:00
    thinksns 可以开发 CMS 么?

    还是主要就是做社区的呀。
    cw723
        3
    cw723  
       2018-09-14 15:32:46 +08:00
    感觉 SNS 都死的差不多了。。

    国内就剩下微博了吧。
    wzyefd
        4
    wzyefd  
       2018-09-14 18:01:41 +08:00 via iPhone
    前端都是收费的
    jisibencom
        5
    jisibencom  
       2018-09-14 18:04:42 +08:00 via Android
    为什么不用 docker
    sampeng
        6
    sampeng  
       2018-09-14 19:30:38 +08:00
    突然,我想你们了。。。。喵
    XZ399
        7
    XZ399  
       2018-10-10 16:30:53 +08:00
    @kumfo 现在是 laravel
    XZ399
        8
    XZ399  
       2018-10-10 16:31:42 +08:00
    @cw723 可以开发 CMS,里面有很多内容管理方面的应用,比如资讯、圈子、问答,你可以去看看
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5645 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 03:13 · PVG 11:13 · LAX 19:13 · JFK 22:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.