今天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] bluepy 一款python封装的BLE利器

    1.bluepy 简介 bluepy 是github上一个很好的蓝牙开源项目,其地址在 LINK-1, 其主要功能是用python实现linux上BLE的接口. This is a project t ...

  2. 255.Spring Boot+Spring Security:使用md5加密

    说明 (1)JDK版本:1.8 (2)Spring Boot 2.0.6 (3)Spring Security 5.0.9 (4)Spring Data JPA 2.0.11.RELEASE (5)h ...

  3. emWin智能家居主界面设计,含uCOS-III和FreeRTOS两个版本

    第6期:智能家居主界面设计配套例子:V6-910_STemWin提高篇实验_智能家居主界面设计(uCOS-III)V6-911_STemWin提高篇实验_智能家居主界面设计(FreeRTOS) 例程下 ...

  4. 微服务架构-选择Spring Cloud,放弃Dubbo

    Spring Cloud 在国内中小型公司能用起来吗?从 2016 年初一直到现在,我们在这条路上已经走了一年多. 在使用 Spring Cloud 之前,我们对微服务实践是没有太多的体会和经验的.从 ...

  5. SUSE12Sp3-kafka安装

    1.安装java jdk sudo mkdir -p /usr/local/java #创建目录 将jdk-8u201-linux-x64.tar.gz上传到该目录 cd /user/local/ja ...

  6. ansible基础-roles

    一 简介 注:本文demo使用ansible2.7稳定版 在我看来,role是task文件.变量文件.handlers文件的集合体,这个集合体的显著特点是:可移植性和可重复执行性. 实践中,通常我们以 ...

  7. [Swift]LeetCode247.对称数 II $ Strobogrammatic Number II

    A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside ...

  8. [Swift]LeetCode349. 两个数组的交集 | Intersection of Two Arrays

    Given two arrays, write a function to compute their intersection. Example 1: Input: nums1 = [1,2,2,1 ...

  9. Python面试真题第四节

    81.举例说明SQL注入和解决办法 82.s="info:xiaoZhang 33 shandong",用正则切分字符串输出['info', 'xiaoZhang', '33', ...

  10. Ubuntu12.04下安装NS3.25

    实验室项目的需求,要使用到NS3做仿真,使用实验室的电脑,Ubuntu12.04,版本比较低,建议大家使用16.04,这样安装依赖文件时不会出现版本过低的问题 (没管最后也安装成功了).下面就安装步骤 ...