Partition

使用 PHP 或符號連結將文件保存到另一個分區?

  • February 10, 2022

我們有一個基於 PHP 的應用程序在 cPanel 伺服器上執行,它保存了大量的 API 日誌文件(數百萬),我們希望 PHP 腳本能夠將 API 日誌文本文件寫入另一個分區(Amazon EFS 安裝到伺服器) ,以便我們可以更輕鬆地移動這些文本文件。df-h 輸出如下:

tmpfs           7.3G     0  7.3G   0% /dev/shm
tmpfs           7.3G  115M  7.2G   2% /run
tmpfs           7.3G     0  7.3G   0% /sys/fs/cgroup
/dev/xvda1      1.5T  623G  828G  43% /
/dev/loop0      3.9G  8.3M  3.7G   1% /tmp
127.0.0.1:/     8.0E  609G  8.0E   1% /smartefs01
tmpfs           1.5G     0  1.5G   0% /run/user/0
tmpfs           1.5G     0  1.5G   0% /run/user/1005

我們要將文件保存到的驅動器位於 /smartefs01 中,實際的 PHP 應用程序位於 /home/user/public_html 中。我們正在努力尋找將 PHP 應用程序儲存在 /smartefs01 而不是 /home/user_public_html 中的最簡單方法。由於我們希望能夠分離驅動器並在更改伺服器等情況下將其與所有文件一起移動。

讓我知道你的想法!

親切的問候,

歐共體

您無法對尚不存在的文件進行符號連結,因此,如果您的應用程序生成數百萬個文件,這不是一種選擇。

如果該應用程序登錄到特定目錄,您可以對目錄進行符號連結或綁定掛載。任何人都會告訴你,非危險的 PHP 伺服器軟體public_http無論如何都不應該在 .攻擊者設法使日誌文件包含<?php…標籤等內容,然後讓 PHP 將日誌文件載入為要解析的內容。

因此,總而言之,您的應用程序應該是要配置或修改以將其日誌寫入其他地方的應用程序。就是這樣:解決這個問題的最合乎邏輯、最安全最簡單的方法。

引用自:https://unix.stackexchange.com/questions/690101