有三臺web服務器做負載均衡,其中一臺服務器連接redis異常,報錯信息如下:
Predis Fatal Error : No sentinel server available for autodiscovery.
再往前看發現有php有warning信息:
PHP Warning[2]: stream_socket_client() has been disabled for security reasons
因爲程序是用的是PHP的predis庫,連接是TCP連接,要用PHP內置的stream_socket_client函數,如果php.ini配置文件中在disable_functions裏面禁用了stream_socket_client數據的話就會導致程序連不上redis.修改配置文件後報錯消失。