पीएचपी वितरण के नाम पर प्राप्त करने के लिए किसी भी समारोह प्रदान नहीं करता, लिनक्स कमांड uname
के समान है, तो इसका मतलब यह वितरण खुद के बारे में कोई जानकारी उपलब्ध नहीं कराता।
न तो और न ही PHP_OS
जानकारी दें। वितरण के बारे में लेकिन ओएस प्रकार (जैसे लिनक्स/विंडोज)।
मुझे लगता है कि /etc/os-release
पढ़ने के लिए ओएस/वितरण चलाना क्या है, यह अच्छी बात यह है कि इस फ़ाइल में सभी उपयोगकर्ताओं के लिए पढ़ने की अनुमति है और बुरी चीज यह साझा होस्टिंग पर काम नहीं कर सकती है।
यहाँ मैं एक बहुत ही सरल PHP समारोह जो पढ़ता लिखा था और एक सरणी के लिए os-release
कन्वर्ट: इस तरह
function getOSInformation()
{
if (false == function_exists("shell_exec") || false == is_readable("/etc/os-release")) {
return null;
}
$os = shell_exec('cat /etc/os-release');
$listIds = preg_match_all('/.*=/', $os, $matchListIds);
$listIds = $matchListIds[0];
$listVal = preg_match_all('/=.*/', $os, $matchListVal);
$listVal = $matchListVal[0];
array_walk($listIds, function(&$v, $k){
$v = strtolower(str_replace('=', '', $v));
});
array_walk($listVal, function(&$v, $k){
$v = preg_replace('/=|"/', '', $v);
});
return array_combine($listIds, $listVal);
}
इस समारोह प्रिंट कुछ:
Array
(
[name] => Ubuntu
[version] => 16.04.2 LTS (Xenial Xerus)
[id] => ubuntu
[id_like] => debian
[pretty_name] => Ubuntu 16.04.2 LTS
[version_id] => 16.04
[home_url] => http://www.ubuntu.com/
[support_url] => http://help.ubuntu.com/
[bug_report_url] => http://bugs.launchpad.net/ubuntu/
[version_codename] => xenial
[ubuntu_codename] => xenial
)
आयोजित ओग Lykke [1]; -)
[1] डेनिश वाक्यांश का मतलब शुभकामनाएं है।
कैसे कर सकता है PHP_OS कभी "काफी काम किया अच्छा "अगर यह आपको ओएस PHP पर बनाया गया था? यह जल्दी या बाद में तोड़ने के लिए बाध्य है। – Pacerier