"Memcache не может подключиться, соединение отказано (111)"?
Прежде всего...
Должен сказать, я не очень разбираюсь в серверах. Я тот тип разработчиков php, которые не очень часто используют командные строки. Мне очень неудобно в Терминале.
Тем не менее, я учусь. Я не привык иметь свои сайты на выделенных серверах без управляемого хостинга. Но теперь у меня это впервые, и мне нужно установить Memcache самостоятельно.
Некоторая информация о сервере
- Продукт: Выделенный сервер (DV) на Media Temple
- Parallels® Plesk Panel 12 или cPanel® 11
- CentOS 5.7 (финал)
- Apache 2.2
- PHP 5.4
- Управление пакетами YUM
Что я сделал
Я следовал этому руководству: https://mediatemple.net/community/products/dv/204644340/installing-pecl-extensions
Но конечно с memcache
вместо uploadprogress
,
И я проверил, Memcache установлен и работает. А также $memcache = new Memcache;
работает в моих кодах php. Но $memcache->connect('localhost', 11211);
не работает. Я получаю сообщение об ошибке:
Warning: Memcache::connect(): Can't connect to localhost:11211, Connection refused (111) in /var/www/vhosts/[mydomain]/httpdocs/index.php on line 10 Could not connect to memcache server
И я попытался изменить localhost
на IP-номер сервера, но безуспешно.
Я много гуглил и попал в статьи и темы форума об установке Memcached
до. Поэтому я последовал одному из этих руководств и попытался установить его. Но получил сообщения об ошибках No package memcached available.
поэтому он не может быть установлен.
Вот пример команд, которые я сделал после этого:
Nothing to do
[root@mydomain /]# php -i | grep memcache
PHP Warning: Module 'memcache' already loaded in Unknown on line 0
/etc/php.d/memcached.ini,
PHP Warning: Unknown: It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected 'America/Los_Angeles' for 'PDT/-7.0/DST' instead in Unknown on line 0
memcache
memcache support => enabled
memcache.allow_failover => 1 => 1
memcache.chunk_size => 8192 => 8192
memcache.default_port => 11211 => 11211
memcache.default_timeout_ms => 1000 => 1000
memcache.hash_function => crc32 => crc32
memcache.hash_strategy => standard => standard
memcache.max_failover_attempts => 20 => 20
Registered save handlers => files user memcache
OLDPWD => /memcached-1.4.9
_SERVER["OLDPWD"] => /memcached-1.4.9
[root@mydomain /]# ps aux | grep memcache
root 6434 0.0 0.0 9288 868 pts/0 S+ 02:37 0:00 grep memcache
[root@mydomain /]# getenforce
Disabled
Так...
Что я забыл сделать?
1 ответ
Обновить!
Так что я в итоге преуспел. Как:
- Погуглил "посмотри, установлены ли memcached, командная строка centos5"
- Нажмите на третий результат, который попал на эту страницу: http://cnedelcu.blogspot.se/2009/09/setting-up-and-using-memcached-memcache.html
- Выполнил шаги
Успешно установить Memcached, но не Memcache:
[root@mydomain /]# yum install php-pecl-memcache Loaded plugins: fastestmirror, priorities Loading mirror speeds from cached hostfile * base: centos.mirror.nac.net * extras: mirror.atlanticmetro.net * updates: centos.mirror.nac.net base | 1.1 kB 00:00 extras | 2.1 kB 00:00 updates | 1.9 kB 00:00 Setting up Install Process Resolving Dependencies --> Running transaction check ---> Package php-pecl-memcache.x86_64 0:2.2.3-1.el5_2 set to be updated --> Processing Dependency: php-api = 20041225 for package: php-pecl-memcache --> Finished Dependency Resolution php-pecl-memcache-2.2.3-1.el5_2.x86_64 from extras has depsolving problems --> Missing Dependency: php-api = 20041225 is needed by package php-pecl-memcache-2.2.3-1.el5_2.x86_64 (extras) Error: Missing Dependency: php-api = 20041225 is needed by package php-pecl-memcache-2.2.3-1.el5_2.x86_64 (extras) You could try using --skip-broken to work around the problem You could try running: package-cleanup --problems package-cleanup --dupes rpm -Va --nofiles --nodigest The program package-cleanup is found in the yum-utils package.
Тем не менее, кажется, что это не нужно для успеха. Memcache, кажется, работает сейчас!