laravel项目thinksns-plus安装出现RuntimeException Symlink from * to * failed错误

laravel项目thinksns-plus安装出现RuntimeException Symlink from * to * failed错误,第1张

概述今天xshell安装thinksns-plus的laravel项目时出现了一个错误, 提示如下,这个可能跟php函数被禁用有关,查看了一下安装文档, 有一项php环境要求“exec,system,sc

今天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 环境下 *** 作,这些函数将会成为必须:

execsystemscandirsymlinkshell_execproc_openproc_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 | MariaDBMysqL 请使用 >= 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-plus安装出现RuntimeException Symlink from * to * failed错误所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1240392.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存