Ошибка запуска apache22
![]()  | 
		Возникла необходимость на сервере под управлением FreeBSD 10.0-RELEASE, где установлен web-сервер apache22 (версия – apache22-2.2.27) с прикрученным к нему языком php5 (версия – php5-5.4.29), установить библиотеку расширения php5-imap (версия – php5-imap-5.4.29). После её инсталляции и попытке перезапуска apache22, последний отказался стартовать (все сайты оказались неработоспособными). В логах-же работы apache22 появились ошибки… | 
Возникла ошибка следующего вида:
# less /var/log/apache22/httpd-error.log [Wed Jul 02 12:49:30 2014] [notice] Graceful restart requested, doing restart /usr/local/lib/php/20100525/imap.so: Undefined symbol "ssl_onceonlyinit"
Данная ошибка возникла из-за моей невнимательности. Порт mail/php5-imap зависит от порта mail/cclient:
# pkg info | grep php5-imap
php5-imap-5.4.29               The imap shared extension for php
# pkg info -d php5-imap-5.4.29
php5-imap-5.4.29:
        openssl-1.0.1_13
        cclient-2007f_1,1
        php5-5.4.29
# pkg info -r cclient-2007f_1,1
cclient-2007f_1,1:
        php5-imap-5.4.29
	Который, как оказалось, необходимо в обязательном порядке собирать с опцией SSL (как показано на рисунке) ниже. Так что мне пришлось пересобрать данный порт (mail/cclient) с включенной поддержкой ssl и перезапустить апач. Только тогда ошибка пропала. Делаем:
# cd /usr/ports/ # make search name=cclient-2007f # cd /usr/ports/mail/cclient # make config
Не забываем на этот раз отметить опцию SSL:

# make install clean # /usr/local/etc/rc.d/apache22 start
В логах появилась еще одна “нехорошая” запись, но апач запустился штатно.
# less /var/log/apache22/httpd-error.log [Wed Jul 02 12:49:30 2014] [notice] Graceful restart requested, doing restart /usr/local/lib/php/20100525/imap.so: Undefined symbol "ssl_onceonlyinit" [Wed Jul 02 12:57:33 2014] [warn] pid file /var/run/httpd.pid overwritten -- Unclean shutdown of previous Apache run? [Wed Jul 02 12:57:33 2014] [notice] Apache/2.2.27 (FreeBSD) PHP/5.4.29 configured -- resuming normal operations
К слову, в конце инсталляции порта cclient-2007f показывали предупреждающее сообщение:
> Compressing man pages (compress-man) => Installing for cclient-2007f_1,1 => Registering installation for cclient-2007f_1,1 Installing cclient-2007f_1,1... done ============================================================================ Warning: You have chosen to include SSL support. Applications/ports that use the cclient library but do not support SSL may stop working or have problems linking. Linking them explicitly with ssl (-lssl -lcrypto) may or may not help. ============================================================================
    
    
  








