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.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 这样的地址,如图:

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

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/

ThinkSNS Plus PHP开发概述相关推荐

  1. HealthKit开发快速入门教程之HealthKit开发概述简介

    HealthKit开发快速入门教程之HealthKit开发概述简介 2014年6月2日召开的年度开发者大会上,苹果发布了一款新的移动应用平台,可以收集和分析用户的健康数据.该移动应用平台被命名为&qu ...

  2. 语言 {软件开发概述}

    语言 {软件开发概述}; {编辑期,编译期,运行期} 定义 程序的3个阶段: . 编辑期: 在IDE里 写源代码; . 编译期: 源代码通过编译器变成了exe可执行文件 (二进制的); . 运行期: ...

  3. GIS 二次开发概述 (整理)

    GIS 二次开发概述 地理信息系统根据其内容可分为两大基本类型:一是应用型地理信息系统,以某一专业.领域或工作为主要内容,包括专题地理信息系统和区域综合地理信息系统:二是工具型地理信息系统,也就是 G ...

  4. 初识JavaWeb(web开发概述、web开发环境的搭建、创建并发布web项目)

    文章目录 JavaWeb web开发概述 web开发环境的搭建 web服务器的选择 环境搭建 Tomcat的配置文件 创建发布Web项目 JavaWeb web开发概述 学习web开发, 我们需要一台 ...

  5. 音视频开发——概述(含TUTK demo iOS)

    开发一款播放器,难不难,要怎么做?想必每个进入到音视频领域的新人都有这样的疑问. 如果仅仅是完成项目,可以说很简单.对于iOS开发人员,网上有不少的开源播放器,如kxmovie.ikjplayer,g ...

  6. Day14-HTTP协议 web开发概述 servlet快速入门

    HTTP:HyperText Transfer Protocol 超文本传输协议 用于定义web浏览器和web服务器之间交换数据的过程 特点: 基于请求/响应模型的协议.请求和相应必须成对出现,现有请 ...

  7. Android 培训课件编写--- 第1章 Android应用开发概述

    第1章 Android应用开发概述 随着Android系统的迅猛发展,它已经成为全球范围内具有广泛影响力的操作系统.Android系统已经不仅仅是一款手机的操作系统,它越来越广泛的被应用于平板电脑.可 ...

  8. Linux驱动开发概述

    第 1 章 Linux驱动开发概述 设备驱动程序是计算机硬件与应用程序的接口,是软件系统与硬件系统沟通的桥梁.如果没有设备驱动程序,那么硬件设备就只是一堆废铁,没有什么功能.本章将对Linux驱动开发 ...

  9. Palm OS 5开发概述

    内容 介绍 发布时间表 基于ARM处理器的Palm OS Palm应用程序兼容性环境 Palm OS仿真器 安全API 高密度API 性能 支持ARM原码 采样声音API Mac OS 管道开发工具( ...

最新文章

  1. HDU 1181 变形课
  2. Spring 建立简单的示例
  3. LeetCode 25K 个一组翻转链表26删除排序数组中的重复项
  4. [html] HTML5的video在手机端如何实现进来页面时就自动播放?
  5. 【蓝桥杯单片机】Led+蜂鸣器+继电器
  6. Bug:Google Analytics例子未使用example.com
  7. android 屏幕方向监听,android 屏幕旋转问题 - jwzhangjie的个人空间 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...
  8. Flex与.NET互操作:基于WebService的数据访问
  9. MATLAB遍历文件夹
  10. Fiddler抓包快速入门-windows网页抓包
  11. java 换行符 ascii码_java换行怎么写
  12. idea自动删除尾行空格(空行中空格)
  13. ES 创建太多 buckets 错误: trying to create too many buckets. must be less than or equal to: [100000] but w
  14. java 构造器 血药主题_Day08-面向对象编程,Java构造器
  15. hashTabel List 和 dic
  16. 游戏开发 unity3d python_游戏研发系列 Unity3D/2D游戏开发从0到1 第2版.pdf
  17. 其实我不怕过光棍节,我只是怕你不过光棍节~
  18. 使用TextCNN+Word2Vec实现简历文本分类(二)
  19. python根据经纬度转换详细地址_如何将经纬度转换为街道地址
  20. 【Sqlite】sqlite安装与与使用图文详解

热门文章

  1. java家谱树_青锋家谱系统-基于springboot+orgtree的青锋家谱树管理系统
  2. 计算机辅助设计cad综述,控制系统计算机辅助设计综述
  3. oracle取月去0,Oracle取月份,不带前面的0
  4. 孔板流量计计算公式_带你全面了解各种流量计!
  5. .net core 调试 docker_不是吧!Docker上手,看会觉得自己又行了!
  6. 301与302页面重定向
  7. webstorm2017.1.3破解教程
  8. ggplot2作图4
  9. 转移性乳腺癌的基因组图谱突出了突变和特征频率的变化
  10. 马恩驰:R向量化运算