ThinkSNS Plus PHP开发概述

本文涉及的产品
RDS SQL Server Serverless,2-4RCU 50GB 3个月
推荐场景:
云数据库 RDS SQL Server,基础系列 2核4GB
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介:


       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/

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
安全 IDE 编译器
深入理解PHP 7的新特性及其对现代Web开发的影响
【7月更文挑战第30天】本文将深入探索PHP 7版本中引入的关键新特性,并分析这些改进如何优化现代Web开发实践。通过对比PHP 5和PHP 7的性能差异,我们将揭示PHP 7如何提升应用响应速度和资源利用效率。此外,本文还将讨论PHP 7对开发者工作流程的影响,包括新的语言特性、错误处理机制以及内置函数的增强,旨在为读者提供全面了解PHP 7所带来的变革性影响。
|
2月前
|
安全 API PHP
深入理解PHP 7的新特性及其对现代Web开发的影响
【7月更文挑战第29天】本文将探索PHP 7版本引入的一系列新特性,并分析它们如何革新了现代Web开发。我们将从性能提升、语言特性增强、以及面向对象编程的改进等方面进行详细讨论,旨在为开发者提供一份全面的PHP 7新特性指南,帮助他们更好地利用这些新工具优化和加速Web应用的开发。
|
2月前
|
安全 编译器 API
深入理解PHP 8的新特性及其对现代Web开发的影响
【7月更文挑战第29天】随着PHP 8的发布,这个广受欢迎的服务器端脚本语言迎来了重大更新。本文将深入探讨PHP 8引入的关键新特性,包括JIT编译器、联合类型、命名参数、匹配表达式以及错误处理改进等,并分析这些变化如何影响现代Web开发实践。我们将通过具体示例和代码片段,展示这些新特性如何提升性能、增强类型安全和支持更简洁的代码编写,同时讨论它们对现有PHP项目的迁移和维护的潜在影响。
28 2
|
2月前
|
存储 设计模式 安全
PHP 7新特性及其对现代Web开发的影响
随着PHP 7的发布,这一广泛使用的服务器端脚本语言带来了显著的性能提升和新的编程特性。本文将深入探讨PHP 7中的关键更新,包括性能优化、类型声明、异常处理改进以及匿名类等,并分析这些变化如何影响现代Web开发的实践和模式。通过具体案例,我们将了解开发者如何利用这些新特性来编写更快、更安全、更易维护的代码。 【7月更文挑战第28天】
32 3
|
2月前
|
安全 IDE 测试技术
PHP 7新特性及其对现代Web开发的影响
【7月更文挑战第25天】在探索PHP最新版本的旅程中,我们将深入其核心,揭开PHP 7的新特性如何革新现代Web开发的神秘面纱。从性能优化到语法改进,本文将引导你领略PHP 7带来的变革,同时探讨这些变化如何影响开发者的日常编码实践和项目架构设计。
34 4
|
2月前
|
数据挖掘 编译器 PHP
PHP 8新特性解析及其对现代Web开发的影响
随着PHP 8的发布,这一广泛使用的服务器端脚本语言带来了一系列创新特性,旨在提升性能、增强语法的易用性以及支持最新的编程范式。本文将深入探讨PHP 8中的JIT编译器、联合类型、匹配表达式等关键特性,并通过实际案例分析它们如何优化代码结构、提高执行效率,并简化日常开发工作,从而全面评估PHP 8对现代Web开发实践的深远影响。
|
2月前
|
安全 算法 编译器
PHP 8的新特性及其对现代Web开发的影响
随着PHP 8的发布,这个广泛使用的服务器端脚本语言带来了一系列令人兴奋的更新和改进。本文将深入探讨PHP 8中引入的关键新特性,以及这些变化如何影响现代Web开发实践。我们将通过实际案例和性能数据来分析这些新特性的实际应用,为开发者提供升级和采纳新版本的见解。
|
2月前
|
安全 算法 编译器
PHP 8新特性及其对现代Web开发的影响
随着PHP 8的发布,这一广泛使用的编程语言带来了一系列激动人心的新特性,旨在提高性能、增加语言表现力并简化代码。本文将深入探讨PHP 8中引入的关键改进,包括JIT编译器、联合类型、匹配表达式、命名参数、错误处理机制等,以及这些新特性如何影响现代Web开发实践。我们将通过实际示例和案例分析,展示开发者如何利用这些新工具来构建更高效、可维护和安全的应用程序。
|
2月前
|
安全 编译器 PHP
PHP 8:探索新特性及其对现代Web开发的影响
本文将深入探讨PHP 8版本中引入的新特性,以及这些更新如何影响现代Web开发的实践。我们将通过实际的代码示例和性能分析,展示PHP 8如何提升开发效率、加强安全性和增强应用性能,从而为开发者提供更优的编程体验。 【7月更文挑战第18天】
31 6
|
2月前
|
存储 安全 编译器
探索PHP 8的新特性及其对现代Web开发的影响
在PHP 8的发布中,开发者社区迎来了一场革新。这一版本不仅提升了语言的性能,还引入了多项新特性,旨在简化代码编写、增强类型安全和提升开发者体验。本文将深入探讨PHP 8的关键改进点,包括JIT编译器、联合类型、命名参数、匹配表达式等,并分析这些变化如何塑造未来的Web开发趋势。通过实际案例和技术解析,我们将展现PHP 8如何为现代Web应用开发带来前所未有的便利与高效。
下一篇
云函数