Приложение rails 3, использующее rmagick, начинает использовать автономный пассажир, но не может использовать пассажир через apache - PullRequest
1 голос
/ 01 марта 2011

Я работаю над приложением Rails 3, включающим rmagick, и могу успешно запустить и запустить его с помощью WEBrick и Passenger Standalone.Однако, когда я пытаюсь запустить приложение с помощью Passenger в Apache, я получаю следующую ошибку:

dlopen (/Users/20217633/.rvm/gems/ruby-1.9.2-p0@rails3/gems / rmagick-2.13.1 / lib / RMagick2.bundle, 9): символ не найден: __cg_jpeg_resync_to_restart Ссылка на: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.fionsmeers/ImageIO Ожидается в: /usr/local//lib/libjpeg.8.dylib в /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/ImageIO - / Users / 20217633 /.rvm / gems / ruby-1.9.2-p0 @ rails3 / gems / rmagick-2.13.1 / lib / RMagick2.bundle

Кто-нибудь знаком с этой проблемой?

=== ОБНОВЛЕНИЕ ===

Ниже приведена копия моего httpd.conf:

SetEnv PATH /usr/bin:/usr/local/bin

LoadModule passenger_module /Users/20217633/.rvm/gems/ruby-1.9.2-p0@rails3/gems/passenger-3.0.2/ext/apache2/mod_passenger.so
LoadModule upload_progress_module modules/mod_upload_progress.so
PassengerRoot /Users/20217633/.rvm/gems/ruby-1.9.2-p0@rails3/gems/passenger-3.0.2
PassengerRuby /Users/20217633/.rvm/wrappers/ruby-1.9.2-p0@rails3/ruby

<VirtualHost *:80>
    ServerName www.domain.com
    DocumentRoot /Users/20217633/apps/github/project/public

    PassengerLogLevel 3
    RackEnv development
</VirtualHost>

Ответы [ 2 ]

0 голосов
/ 25 июля 2011

Кажется, что символическая ссылка не работает, я нашел что-то в этом форуме

удалить символические ссылки "libpng.dylib" и "libjpeg.dylib" в "<installation directory>/lib/"

Создайте новые символические ссылки на нужные библиотеки.

ln -s /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libPNG.dylib /Applications/MAMP/Library/lib/libPNG.dylib

ln -s /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources/libJPEG.dylib /Applications/MAMP/Library/lib/libJPEG.dylib

У меня нет Mac с правами здесь, но сначала я бы подтвердил , что источник символической ссылки существует, я надеюсь, что это решит вашу проблему.

0 голосов
/ 01 марта 2011

Рабочие процессы Apache не запускаются от имени обычного пользователя, среда очищается и не имеет таких вещей, как path.

Бьюсь об заклад, вы загружаете другую / неправильную версию ImageMagick в Passenger / Apache.

Вы должны быть в состоянии это исправить, вручную установив свой PATH в файле Config пассажира / Apache:

SetEnv PATH /usr/bin:/path/to/correct/image_magick
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...