На моем 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