Apache乘客无法启动错误"未定义的符号:ap_rputs"

时间:2015-11-09 09:43:15

标签: ruby apache ruby-on-rails-4 passenger

我已经使用下面的命令安装了apache2乘客,最初apache2已启动,但在安装rvm之后,它给出了以下错误。

有些人可以帮助我找到解决此错误的方法以及如何解决此问题。

sudo apt-get install apache2
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 561F9B9CAC40B2F7
sudo apt-get install apt-transport-https

sudo vim /etc/apt/sources.list.d/passenger.list
deb https://oss-binaries.phusionpassenger.com/apt/passenger precise main
sudo chown root: /etc/apt/sources.list.d/passenger.list
sudo chmod 600 /etc/apt/sources.list.d/passenger.list
sudo apt-get update
sudo apt-get install libapache2-mod-passenger



ubuntu@ip-23-31-39-60:~/www/fasterap/current$ sudo service apache2 reload
 * Reloading web server apache2
 *
 * The apache2 configtest failed. Not doing anything.
Output of config test was:
apache2: Syntax error on line 210 of /etc/apache2/apache2.conf: Syntax error on line 2 of /etc/apache2/mods-enabled/passenger.load: Cannot load /usr/lib/apache2/modules/mod_passenger.so into server: /usr/lib/apache2/modules/mod_passenger.so: undefined symbol: ap_rputs
Action 'configtest' failed.
The Apache error log may have more information.

2 个答案:

答案 0 :(得分:0)

我遇到了从Debian wheezy到Debian Jessie的sysupgrade问题。

在这种情况下,通过安装以~jessie而不是~woezy结尾的Passenger版本解决了这个问题,对于可能会破坏的依赖包也是如此。

因为版本包含代号并按字母顺序排序,所以aptitude认为wheezy版本是最后一个版本。它实际上告诉你它会将软件包“降级”为jessie版本。

答案 1 :(得分:0)

有同样的问题。 我重新安装了乘客,现在可行。 首先检查您的存储库地址是否正确: deb https://oss-binaries.phusionpassenger.com/apt/passenger jessie main

a2dismod passenger
aptitude purge libapache2-mod-passenger  passengerpassenger-dev passenger-doc
apt-get update
apt-get install -y libapache2-mod-passenger
a2enmod passenger
service apache2 restart