Cache
Memcached 不在 PHP 文件中工作,但在 SSH 上工作 - CentOS
在我的 CentOS 7 上,Memcached 在 SSH 上執行和工作,但在 PHP 文件中不工作。我關注了這篇文章:https ://www.mynotepaper.com/install-memcached-on-centos-7 。這種方法在我以前的伺服器上執行良好。
我已經使用 telnet 測試了 Memcached。它工作正常。
$ 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 儲存數據後,我通過 PHP 命令在 SSH 上進行了測試。它也有效:
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 資訊截圖。你能告訴我我的錯誤是什麼嗎?
要允許 httpd 集成 PHP 模組在強制執行的 SELinux 環境中進行網路訪問(即使它是環回網路),您必須在您的伺服器上執行(作為 root 或使用 sudo):
setsebool -P httpd_can_network_connect on
Centos Wiki 上的布爾值和資訊列表: https ://wiki.centos.org/TipsAndTricks/SelinuxBooleans