今天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. Python基础之变量作用域

    一.分类: 二.变量名的查找规则: 三.局部变量: 四.全局变量: 五.global语句: 六.nonlocal语句: 七.基础代码: # 全局变量:当前.py文件内部都可访问 g01 = 100 d ...

  2. DCOS实践分享(6):基于DCOS的大数据应用分享

    Open DC/OS大中华区官方发布会在京隆重召开   DCOS领域诞生了一个100%开源的企业级Datacenter Operating System版本,即DC/OS.Linker Network ...

  3. Hadoop 排序

    数据排序是许多实际任务在执行时要完成的第一项工作,比如学生成绩评比.数据建立索引等.这个实例和数据去重类似,都是先对原始数据进行初步处理,为进一步的数据操作打好基础. 1.实例描述 对输入文件中的数据 ...

  4. [Swift]LeetCode244.最短单词距离 II $ Shortest Word Distance II

    This is a follow up of Shortest Word Distance. The only difference is now you are given the list of ...

  5. Spring设计模式_策略模式/其他

    策略模式特性 1.执行最终结果一样 2.执行过程和执行逻辑不一样 3.使用同一接口 达到目的就可以了 Git地址 https://github.com/wujiachengSH/WjcStrategy ...

  6. Python内置函数(47)——open

    英文文档: open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, ope ...

  7. java基础(十六)----- equals()与hashCode()方法详解 —— 面试必问

    本文将详解 equals()与hashCode()方法 概述 java.lang.Object类中有两个非常重要的方法: public boolean equals(Object obj) publi ...

  8. JS 中 原生方法 (二) --- 数组 (修---添加ES6新增)

    const arr = [1, 2, 3, 5, 'a', 'b'] /** * * length * 这个只能被 称之为 数组的原生属性, 返回 一个 number * arr.length */ ...

  9. InterlliJ Debug方式启动:method breakpoints may dramatically show down debugging

    使用idea在DEBUG的时候出现Method breakpoints may dramatically slow down debugging, 如图: 根据语义可能是断点打在方法上面了,导致在某个 ...

  10. mtools-你可能没用过的mongodb神器

    前言 接触 mongodb 已经有一段时间了,从一开始的不了解,到现在已慢慢适应这个nosql领域的佼佼者,还是经历了不少波折. 在进行数据库选型的时候,许多人总是喜欢拿 mongodb和mysql. ...