今天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 库可以用于更加高效的图片基础处理。