我已通过转至系统偏好设置 -> Internet 和网络 -> 共享并单击 Web 服务器选项,在 Mac OS X (10.5.6) 上启用了 Web 服务器。它为我提供了作为 Web 服务器的系统的 IP 地址,但即使单击它后,它也不会显示该页面,而是给出错误:无法连接
对此的任何帮助都会很棒。
我尝试过使用 MAMP,但是我无法显示我自己的 PHP 页面。
从命令行启动和/或停止 Web 服务器,给出以下内容:
dyld: Symbol not found: _apr_socket_sendfile
Referenced from: /usr/sbin/httpd
Expected in: /usr/lib/libapr-1.0.dylib
Trace/BPT trap
我盒子上的文件是:
~ $ ls -lrt /usr/lib/libapr*
-rwxr-xr-x 1 root wheel 578640 Sep 23 2007 /usr/lib/libapr-1.0.2.7.dylib
-rwxr-xr-x 1 root wheel 393696 Sep 23 2007 /usr/lib/libaprutil-1.0.2.7.dylib
-rwxrwxr-x 1 root admin 569544 Oct 27 10:44 /usr/lib/libaprutil-1.0.2.12.dylib
-rwxrwxr-x 1 root admin 835824 Oct 27 10:44 /usr/lib/libapr-1.0.2.12.dylib
lrwxr-xr-x 1 root admin 25 Jan 4 22:28 /usr/lib/libaprutil-1.dylib -> libaprutil-1.0.2.12.dylib
lrwxr-xr-x 1 root admin 25 Jan 4 22:28 /usr/lib/libaprutil-1.0.dylib -> libaprutil-1.0.2.12.dylib
lrwxr-xr-x 1 root admin 21 Jan 4 22:28 /usr/lib/libapr-1.dylib -> libapr-1.0.2.12.dylib
lrwxr-xr-x 1 root admin 21 Jan 4 22:28 /usr/lib/libapr-1.0.dylib -> libapr-1.0.2.12.dylib
MD5 值为:
~ $ openssl md5 /usr/sbin/httpd /usr/lib/libapr-1.0.dylib
MD5(/usr/sbin/httpd)= d5194790e9cfaca881d0e8fc3db24889
MD5(/usr/lib/libapr-1.0.dylib)= f7f7fd3cd315ca4e7c6ad2a2f222998e
libapr-1.0.dylib 链接到较新的 1.0.2.12 版本。
最佳答案
我遇到了类似的问题并进入了此页面,因为我今天感到很幸运:) 该错误意味着 httpd 二进制文件引用了在适当的动态链接库(在本例中为 libapr,Apache 运行时库)中找不到的符号
在 iMac 上运行相同的 OS X 版本。/usr/lib/libapr-1.0.dylib 指向该库的最新版本(1.0.2.12),它没有定义方法/符号 _apr_socket_sendfile
libapr 库的另一个版本是 1.0.2.7,确实有该符号。我有指向此版本的符号链接(symbolic link)(也适用于 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 Web Server 的软件更新以来这是否已被破坏,我很少在此机器上使用它。
希望有帮助;)
乔恩
关于macos - 无法使用默认 Apache Web 服务器在 Mac OS X 上提供页面服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/573067/