Linux
如何為 linux chroot jail 獲取 PHP mysql_ 擴展?
我在我的 Ubuntu 10.04 系統上使用 jailkit 設置了一個 chroot 監獄。我已經複製了 php 和 mysql 的二進製文件,它們都執行良好。因此,從我的 chrooted 使用者的命令行中,我可以執行效果
php somefile.php
很好的命令。然而問題是我的 php 擴展都不能從 chroot 獲得。我需要的主要是mysql擴展。這在我的 root 帳戶中可以正常工作,但在我登錄到 chrooted 使用者時卻不行。
我已經
php --ini
在兩個帳戶上執行了該命令,結果如下:從 root 帳戶看起來像:
Configuration File (php.ini) Path: /etc/php5/cli Loaded Configuration File: /etc/php5/cli/php.ini Scan for additional .ini files in: /etc/php5/cli/conf.d Additional .ini files parsed: /etc/php5/cli/conf.d/apc.ini, /etc/php5/cli/conf.d/curl.ini, /etc/php5/cli/conf.d/gd.ini, /etc/php5/cli/conf.d/geoip.ini, /etc/php5/cli/conf.d/imagick.ini, /etc/php5/cli/conf.d/mcrypt.ini, /etc/php5/cli/conf.d/memcache.ini, /etc/php5/cli/conf.d/mysql.ini, /etc/php5/cli/conf.d/mysqli.ini, /etc/php5/cli/conf.d/pdo.ini, /etc/php5/cli/conf.d/pdo_mysql.ini, /etc/php5/cli/conf.d/ssh2.ini, /etc/php5/cli/conf.d/suhosin.ini, /etc/php5/cli/conf.d/tidy.ini
從監獄看,它看起來像:
Configuration File (php.ini) Path: /etc/php5/cli Loaded Configuration File: (none) Scan for additional .ini files in: /etc/php5/cli/conf.d Additional .ini files parsed: (none)
該路徑
/etc/php5/cli
在 chroot 中不存在,所以我假設這指的是實際的根路徑,當然它確實存在。所以問題似乎是 chroot 中沒有載入任何 php 擴展。但我不知道為什麼會這樣?
啊!我現在解決了。我剛剛
/etc/php5/cli
使用 chroot 中的 ini 文件創建了目錄,然後將依賴庫複製過來,現在效果很好!
通常,您不會將庫等複製到監獄中。你要做的是執行不同的越獄命令。這些命令創建連結而不是複製文件。
如果您在添加 php 之前創建了 jail,則可以按照此處說明的過程進行操作:
https://www.faqforge.com/linux/add-php-in-ssh-jail-ispconfig-3/
我最終做了什麼(因為 jailkit 在執行 jk_update 時返回錯誤)是這樣的:
jk_init -j /var/www/clients/client123/web123/ basicshell editors extendedshell netutils ssh sftp scp groups jk_lsh php
這是越獄工具包站點的連結,您可以在其中查看更多命令