Назад | Перейти на главную страницу

Memcached не работает с файлом PHP, но работает по SSH - CentOS

На моем CentOS 7 Memcached работает и работает по SSH, но не работает с файлом PHP. Я читал эту статью: https://www.mynotepaper.com/install-memcached-on-centos-7. Этот метод отлично работал на моем предыдущем сервере.

Я тестировал Memcached с помощью telnet. Работает нормально.

$ telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
set test 0 100 5
Hello
STORED
get test
VALUE test 0 5
Hello
END

После сохранения данных с помощью telnet я протестировал SSH с помощью команды PHP. Это тоже работает:

php -r '$c = new Memcached(); $c->addServer("127.0.0.1", 11211); var_dump( $c->getAllKeys() );'
array(1) {
  [0]=>
  string(4) "test"
}

Но в файле PHP это не работает. Код PHP:

<?php
$c = new Memcached();
$c->addServer("127.0.0.1", 11211);
var_dump( $c->getAllKeys() );
?>

Это всегда показывает bool(false). Вот мой Скриншот с информацией о PHP.

Не могли бы вы сказать мне, в чем моя ошибка?

Чтобы позволить встроенному PHP-модулю httpd осуществлять доступ к сети (даже если это к сети с обратной связью) в принудительной среде SELinux, вы должны сделать на своем сервере (как root или с помощью sudo):

setsebool -P httpd_can_network_connect on

Список логических значений и информация на Centos Wiki: https://wiki.centos.org/TipsAndTricks/SelinuxBooleans