У меня похожая проблема, и я попал на эту страницу, потому что сегодня мне повезло :)
Ошибка означает, что двоичный файл httpd ссылается на символ, который не может быть найден в соответствующей динамически связанной библиотеке (в данном случае libapr, библиотека времени выполнения Apache)
Запуск той же версии OS X на iMac. /usr/lib/libapr-1.0.dylib указывает на самую последнюю версию библиотеки (1.0.2.12), которая не определяет метод / символ _apr_socket_sendfile
Другая версия библиотеки libapr - 1.0.2.7, имеет этот символ. Вместо этого у меня были символические ссылки, указывающие на эту версию (также для libaprutil):
// BEFORE (both 1.0.2.7 and 1.0.2.12 versions exist, symlinks point to .12)
bash-3.2# ls -l libapr*
-rwxr-xr-x 2 userna wheel 835824 19 Sep 2008 libapr-1.0.2.12.dylib
-rwxr-xr-x 1 root wheel 578640 24 Sep 2007 libapr-1.0.2.7.dylib
lrwxrwxrwx 1 root wheel 21 14 Oct 2008 libapr-1.0.dylib -> libapr-1.0.2.12.dylib
lrwxrwxrwx 1 root wheel 21 14 Oct 2008 libapr-1.dylib -> libapr-1.0.2.12.dylib
-rwxr-xr-x 2 userna wheel 569544 19 Sep 2008 libaprutil-1.0.2.12.dylib
-rwxr-xr-x 1 root wheel 393696 24 Sep 2007 libaprutil-1.0.2.7.dylib
lrwxrwxrwx 1 root wheel 25 14 Oct 2008 libaprutil-1.0.dylib -> libaprutil-1.0.2.12.dylib
lrwxrwxrwx 1 root wheel 25 14 Oct 2008 libaprutil-1.dylib -> libaprutil-1.0.2.12.dylib
// CHANGE symbolic links to previous version
bash-3.2# ln -sf libapr-1.0.2.7.dylib libapr-1.0.dylib
bash-3.2# ln -sf libapr-1.0.2.7.dylib libapr-1.dylib
bash-3.2# ln -sf libaprutil-1.0.2.7.dylib libaprutil-1.0.dylib
bash-3.2# ln -sf libaprutil-1.0.2.7.dylib libaprutil-1.dylib
// TESTing whether httpd is loaded and run
bash-3.2# /usr/sbin/httpd -t
Syntax OK
Не совсем уверен, было ли это нарушено с момента последнего обновления программного обеспечения, включающего веб-сервер Apache, я редко использую его в этом окне.
Надеюсь, это поможет;)
Jon