今天xshell安装thinksns-plus的laravel项目时出现了一个错误,

[RuntimeException]
Symlink from "/root/www.z5w.net/thinksns-plus/packages/slimkit-plus-appversion" to "/root/www.z5w.net/thinksns-plus/ven
dor/slimkit/plus-appversion" failed!

提示如下,这个可能跟php函数被禁用有关,查看了一下安装文档

有一项php环境要求“exec,system,scandir,symlink,shell_exec,proc_open,proc_get_status这些是在 Console 环境下使用的,尽量确保你的系统没有禁止。”

  知道问题所在那就好办了,我们把上面的函数从禁用列表中删除(删除过后要重启php和nginx

  但是,为了安全,安装完thinksns-plus后,强烈建议禁用如exec,system等危险函数!

ThinkSNS对环境的要求如下

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

    • MySQL 请使用 >= 5.7 版本,当然,如果能用 MySQL 8 再好不过。
    • 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 字符。

当我们都安装好了,迁移数据表的时候如果出现数据库拒绝访问,说明是权限的问题执行以下命令即可

1.授权(此处是对root用户授权mysql所有数据库)

mysql>GRANT ALL PRIVILEGES ON *.* TO ‘root’@’%′ IDENTIFIED BY ‘newpwd’ WITH GRANT OPTION; 

如果针对某个特定的用户test授权某个指定的数据testdb用下面例子中的命令

mysql>GRANT ALL PRIVILEGES ON `testdb`.* TO ‘test’@’%′ IDENTIFIED BY ‘newpwd’ WITH GRANT OPTION; 

2.刷新权限使其生效

mysql>flush privileges; 

操作完以上命令,就可以完成数据表的迁移了。

数据库填充

静态资产发布

查看安装命令执行后   如果出现如下错误

ErrorException  : passthru() has been disabled for security reasons

原因也是php函数禁用导致的,php.ini中把函数passthru函数删除  保存并重启php和nginx

出现下面错误

Laravel development server started: <http://0.0.0.0:80>
[Sat Feb 16 21:54:20 2019] Failed to listen on 0.0.0.0:80 (reason: Address already in use)

说明80 端口已经被占用,请更换其他

laravel项目thinksns-plus安装出现RuntimeException Symlink from * to * failed错误的更多相关文章

  1. laravel项目ThinkSNS+安装

    ThinkSNS+ 是一个使用 Laravel 开发,并且功能繁多且健壮的社交程序.今天我们来跟着ytkah一起来尝鲜一下.首先PHP 版本必须大于 7.1.3,已经下载并安装过 Composer,拥 ...

  2. laravel项目thinksns+安装pc前端页面

    前面我们说了laravel项目ThinkSNS+安装,现在要安装给用户看的页面,方便他们进行一些操作,比如发表文字/提问之类,这个已经模块化了,用composer就可以完成.命令行代码如下(之前是co ...

  3. laravel 项目表单中有csrf_token,但一直报错419错误 解决redis连接错误:MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persi

    laravel 项目表单中有csrf_token,但一直报错419错误,因为项目中使用到Redis缓存,在强制关闭Redis后出现的问题,查询laravel.log文件查找相关问题 安装redis后在 ...

  4. 创建一个 Laravel 项目

    创建一个 Laravel 项目,首先需要安装 Composer ,如果没有安装的参考 https://docs.phpcomposer.com/00-intro.html 一.安装 Laravel 安 ...

  5. 安装VMware Workstation提示the msi failed的解决办法

    有朋友安装VMware Workstation时出现报错,提示the msi failed等信息,原来他以前安装过绿色版.优化版的VM,但删掉后重装VM就会有这样的报错提示,如果你也遇到了相同的困扰, ...

  6. laravel项目拉取下来安装,node.js库安装

    1.拉取项目 2.切换分支 圈圈里面是版本 composer 安装laravel组件其他库 安装node.js安装包  npm set registry=https://registry.npm.ta ...

  7. 安装lnmp1.5,搬迁Laravel项目到服务器笔记

    近期有个Laravel开发项目,需要搬到CentOS服务器做测试. 先说下项目的配置: Laravel版本5.5 --确定了php7.0以上: CentOS 7.0或以上. lnmp 1.5版 以下是 ...

  8. laravel项目安装与重要目录文件说明(一)

    一.laravel创建项目的二种方式: 1.通过laravel安装器,进行创建 composer global require laravel/installer laravel new 项目名 co ...

  9. laravel项目composer安装

    1.下载 Composer (https://pkg.phpcomposer.com/#how-to-install-composer) 安装前请务必确保已经正确安装了 PHP.打开命令行窗口并执行 ...

随机推荐

  1. Linux入门总结——虚拟机安装配置以及vim简单操作

    安装配置ubuntu 安装准备 vittualbox-5.2.22版本(win10) ubuntu-12.04 安装VirtualBox 1.双击VirtualBox-5.2.2-119230-Win ...

  2. 读《Deep Learning Tutorial》(台湾大学 李宏毅 深度学习教学ppt)后杂记

    原ppt下载:pan.baidu.com/s/1nv54p9R,密码:3mty 需深入实践并理解的重要概念: Deep Learning: SoftMax Fuction(输出层归一化函数,与sigm ...

  3. svn错误:更新源码出现校验和不匹配问题

    svn 的文本校验和不匹配: 最近在更新自动化源代码的时候出现了一个错误:svn: Checksum mismatch while updating.... 查了下google,原来是在更新源码出现校 ...

  4. javascript 省市区三级联动 附: json数据

    html: <label> <span>购买地址</span> <select name="PurchaseProvince" style ...

  5. Netty的核心组件

    Netty的主要组成模块: Channels Callbacks Futures Events 和 handlers 这些模块代表了不同类型的概念:资源,逻辑和通知.你的应用将会利用这些模块来获取网络 ...

  6. 二叉查找树(BST)的实现

    一.二叉树介绍 二叉查找树(Binary Search Tree,BST),又称二叉排序树,也称二叉搜索树,它或者是一颗空树,或者具有如下性质的树:若它的左子树不为空,则左子树上所有节点的值都小于根节 ...

  7. Kali学习笔记44:SQLMAP

    SQLMAP漏洞检测技术: 1.基于布尔的盲注检测:' and 1=1   'and 1=2等 2.基于时间的盲注检测:' and (select * from (select(sleep(20))) ...

  8. [Swift]LeetCode976. 三角形的最大周长 | Largest Perimeter Triangle

    Given an array A of positive lengths, return the largest perimeter of a triangle with non-zero area, ...

  9. 基于Spring Boot、Spring Cloud、Docker的微服务系统架构实践

    由于最近公司业务需要,需要搭建基于Spring Cloud的微服务系统.遍访各大搜索引擎,发现国内资料少之又少,也难怪,国内Dubbo正统治着天下.但是,一个技术总有它的瓶颈,Dubbo也有它捉襟见肘 ...

  10. 优化之Aggregator组件

    Aggregator组件通常会降低性能,因为它们必须在处理数据之前对数据进行分组 Aggregator组件需要额外的内存来保存中间组结果 通过如下方式对Aggregator组件进行优化 简化group ...