1. 程式人生 > >laravel項目thinksns-plus安裝出現RuntimeException Symlink from * to * failed錯誤

laravel項目thinksns-plus安裝出現RuntimeException Symlink from * to * failed錯誤

jpg 需求 Opens info 卸載 serve led gic except

今天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 環境下使用的,盡量確保你的系統沒有禁止。”

  知道問題所在那就好辦了,我們把上面的函數從禁用列表中刪除

技術分享圖片

  但是,為了安全,安裝完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 字符。

laravel項目thinksns-plus安裝出現RuntimeException Symlink from * to * failed錯誤