0

我在用着

  • 操作系统 1.8.3
  • RVM 1.19.6
  • 红宝石红宝石 1.9.3p327
  • 阿帕奇 2.4
  • Phusion 乘客 3.0.19

在无错误安装 Apache 后,我启动了服务器并且它工作正常。

我写了一个'start_apache.sh'脚本:

#!/bin/bash 
sudo /usr/local/apache2/bin/apachectl -k start

...这工作。

然后我安装了 phusion 乘客没有错误。

当我运行我的 start_apache.sh 脚本时,我得到了这个错误

httpd:/usr/local/apache2/conf/httpd.conf 第 504 行的语法错误:无法加载 /Users/perry_mac/.rvm/gems/ruby-1.9.3-p327/gems/passenger-3.0.19/ext /apache2/mod_passenger.so 进入服务器:dlopen(/Users/perry_mac/.rvm/gems/ruby-1.9.3-p327/gems/passenger-3.0.19/ext/apache2/mod_passenger.so, 10): 符号不是找到:_unixd_config\n 引用自:/Users/perry_mac/.rvm/gems/ruby-1.9.3-p327/gems/passenger-3.0.19/ext/apache2/mod_passenger.so\n 预期在:平面命名空间\n在 /Users/perry_mac/.rvm/gems/ruby-1.9.3-p327/gems/passenger-3.0.19/ext/apache2/mod_passenger.so

在遵循 ++ 很多 ++ 的“无法加载模块”问答之后,我尝试了

cd /usr/local/apache2/bin
sudo apachectl -k start

......它奏效了。

使用脚本仍然不行。

有人可以解释为什么吗?

非常感谢!

4

3 回答 3

1

也许它与工作目录有关。尝试这个:

#!/bin/bash 
cd /usr/local/apache2/bin/ && sudo ./apachectl -k start
于 2013-05-01T22:30:17.780 回答
0

谢谢rzymek。

您的洞察力使我尝试这样做:

perrys-MacBook-Pro:bin perry_mac$ ls
ab      apxs        dbmmanage   envvars-std htcacheclean    htdigest    httpd       logresolve
apachectl   checkgid    envvars     fcgistarter htdbm       htpasswd    httxt2dbm   rotatelogs
perrys-MacBook-Pro:bin perry_mac$ pwd
/usr/local/apache2/bin
perrys-MacBook-Pro:bin perry_mac$ which apachectl
/usr/sbin/apachectl
perrys-MacBook-Pro:bin perry_mac$ 

事情是这样的:我下载、构建并安装了 apache 2.4。不知道 mac OSX 10.8.3 仍然有工作的 apache 安装。我读过一些关于苹果如何从这个操作系统版本中“删除网络共享”的网络帖子。事实证明,这意味着他们删除了一个 GUI 元素,但将服务器留在了原处。如您所见,我现在有两个版本的 apachectl 和 httpd。我现在正在解开剩下的混乱。作为后续行动,如果有人对如何最好地进行,请在下面发表评论。否则,我将从修改 $PATH 开始,看看效果如何。

附录:看起来这导致了我的困惑: http ://www.modrails.com/documentation/Users%20guide%20Apache.html#_phusion_passenger_is_using_the_wrong_apache_during_installation ...但链接导致没有补救措施(截至 5/5 /2013)。在 phusion 乘客安装期间必须设置一个选项,以确保它指向所需的 apache 安装,但我找不到它。

最后,我删除了我构建的 apache 2.4 版并恢复到操作系统中包含的 2.2 版。到目前为止,一切正常。

于 2013-05-02T21:23:23.803 回答
0

也许这是用户配置文件的一些问题。你能检查环境参数值吗?

于 2013-04-27T17:38:48.733 回答