Я получаю это сообщение об ошибке, отображаемое в виде заголовка на сайте и в файле error_log:
[18-Nov-2017 23:06:13 America / New_York] Предупреждение PHP: posix_uname () был отключен по соображениям безопасности в /home/reddirtr/public_html/holland_college_mw19/includes/GlobalFunctions.php в строке 1450Как я могу изменить код в GlobalFunctions.php, чтобы удалить предупреждение?
function wfHostname() {
static $host;
if ( is_null( $host ) ) {
# Hostname overriding
global $wgOverrideHostname;
if ( $wgOverrideHostname !== false ) {
# Set static and skip any detection
$host = $wgOverrideHostname;
return $host;
}
if ( function_exists( 'posix_uname' ) ) {
// This function not present on Windows
$uname = posix_uname();
} else {
$uname = false;
}
if ( is_array( $uname ) && isset( $uname['nodename'] ) ) {
$host = $uname['nodename'];
} elseif ( getenv( 'COMPUTERNAME' ) ) {
# Windows computer name
$host = getenv( 'COMPUTERNAME' );
} else {
# This may be a virtual server.
$host = $_SERVER['SERVER_NAME'];
}
}
return $host;
}
Вы можете использовать @
символ, чтобы скрыть любые сообщения об ошибках, сгенерированные из этого выражения:
PHP поддерживает один оператор контроля ошибок: знак at (@). При добавлении к выражению в PHP любые сообщения об ошибках, которые могут быть сгенерированы этим выражением, будут игнорироваться.
Вы можете использовать его следующим образом:
if ( function_exists( 'posix_uname' ) ) {
// This function not present on Windows
$uname = @posix_uname();
} else {
$uname = false;
}
Имейте в виду, что это не решает проблему, оно просто скрывает сообщение об ошибке. Также вы можете прочитать главу «Ошибки -> Основные» для основных конфигураций, чтобы скрыть / показать сообщения об ошибках в вашем скрипте.
По умолчанию сервер блокирует некоторые функции, если происходят какие-либо подозрительные действия. Итак, попробуйте отредактировать php.ini
файл путем добавления
disable_functions=
эта функция устанавливает disable_functions
никому. Вы можете добавить некоторые функции, если вам нужно.