laravel项目thinksns-plus安装出现RuntimeException Symlink from * to * failed错误
今天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错误的更多相关文章
- laravel项目ThinkSNS+安装
ThinkSNS+ 是一个使用 Laravel 开发,并且功能繁多且健壮的社交程序.今天我们来跟着ytkah一起来尝鲜一下.首先PHP 版本必须大于 7.1.3,已经下载并安装过 Composer,拥 ...
- laravel项目thinksns+安装pc前端页面
前面我们说了laravel项目ThinkSNS+安装,现在要安装给用户看的页面,方便他们进行一些操作,比如发表文字/提问之类,这个已经模块化了,用composer就可以完成.命令行代码如下(之前是co ...
- 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后在 ...
- 创建一个 Laravel 项目
创建一个 Laravel 项目,首先需要安装 Composer ,如果没有安装的参考 https://docs.phpcomposer.com/00-intro.html 一.安装 Laravel 安 ...
- 安装VMware Workstation提示the msi failed的解决办法
有朋友安装VMware Workstation时出现报错,提示the msi failed等信息,原来他以前安装过绿色版.优化版的VM,但删掉后重装VM就会有这样的报错提示,如果你也遇到了相同的困扰, ...
- laravel项目拉取下来安装,node.js库安装
1.拉取项目 2.切换分支 圈圈里面是版本 composer 安装laravel组件其他库 安装node.js安装包 npm set registry=https://registry.npm.ta ...
- 安装lnmp1.5,搬迁Laravel项目到服务器笔记
近期有个Laravel开发项目,需要搬到CentOS服务器做测试. 先说下项目的配置: Laravel版本5.5 --确定了php7.0以上: CentOS 7.0或以上. lnmp 1.5版 以下是 ...
- laravel项目安装与重要目录文件说明(一)
一.laravel创建项目的二种方式: 1.通过laravel安装器,进行创建 composer global require laravel/installer laravel new 项目名 co ...
- laravel项目composer安装
1.下载 Composer (https://pkg.phpcomposer.com/#how-to-install-composer) 安装前请务必确保已经正确安装了 PHP.打开命令行窗口并执行 ...
随机推荐
- 构建一个 预装 pm2 的 node 项目 docker 底包
Dockerfile: 创建 dockerfile 文件, 命名为 dockerfile-yourProject-node.8.12.0-pm2 # MAGE: yourGroup/yourProje ...
- C#等同于正则表达式的写法
不用写正则表达式,用C#自带的方法 用char 自带的函数实现 /// <summary> /// 只能由数字和大小写字母组成 /// </summary> /// <p ...
- [编译] 6、开源两个简单且有用的安卓APP命令行开发工具和nRF51822命令行开发工具
星期四, 27. 九月 2018 12:00上午 - BEAUTIFULZZZZ 一.前言 前几天给大家介绍了如何手动搭建安卓APP命令行开发环境和nRF51822命令行开发环境,中秋这几天我把上面篇 ...
- emWin视频播放器,含uCOS-III和FreeRTOS两个版本
第10期:视频播放器配套例子:V6-918_STemWin提高篇实验_视频播放器(RTX版本,仅支持MDK4.74) 例程下载地址: http://forum.armfly.com/forum.php ...
- Tomcat优化详解
1 概述 本文档主要介绍了Tomcat的性能调优的原理和方法.可作为公司技术人员为客户Tomcat系统调优的技术指南,也可以提供给客户的技术人员作为他们性能调优的指导 ...
- 多媒体文件格式(四):TS 格式
一.TS 格式标准介绍 TS是一种音视频封装格式,全称为MPEG2-TS.其中TS即"Transport Stream"的缩写. 先简要介绍一下什么是MPEG2-TS: DVD的音 ...
- module.exports与exports,export与export default之间的关系和区别
首先我们要明白一个前提,CommonJS模块规范和ES6模块规范完全是两种不同的概念. CommonJS模块规范 Node应用由模块组成,采用CommonJS模块规范. 根据这个规范,每个文件就是一个 ...
- [Swift]LeetCode695. 岛屿的最大面积 | Max Area of Island
Given a non-empty 2D array grid of 0's and 1's, an island is a group of 1's (representing land) conn ...
- [Swift]LeetCode707. 设计链表 | Design Linked List
Design your implementation of the linked list. You can choose to use the singly linked list or the d ...
- PHP算法之二分查找
二分查找: 数组必须有序,且不重复. 一般实际工作中,很少有这样的数组,所以应用的很少,但是思想很好. 1 // 二分查找 2 $array = [10,14,23,33,45,56,65,77,89 ...