2015-11-03 3 views
0

Я унаследовал устаревшие приложения, которое использует JQuery на веб-интерфейсе, и в ужасном истечения суждения я побежалИспользование НПМ в применении с PERL бэкэндом нарушает функциональность

npm install underscore 

а затем сразу же ударил меня, потому бэкэнда это приложение написано на perl! Так что теперь, когда я пытаюсь получить доступ к сайту я получаю следующее сообщение об ошибке:

Error: No such CGI app - /var/www/html/login.pl may not exist or is not executable by this process. 

/var/ww/html/login.pl действительно существует. Он начинается следующим образом:

#!/usr/bin/perl -w 
use utf8; 
use strict; 
use CGI::Carp qw(fatalsToBrowser); 
use CGI qw /param/; 
use Digest::PBKDF2; 
use CGI::Cookie; 
use MongoDB; 
use Data::Dumper; 
use UUID::Generator::PurePerl; 

Затем переходит к некоторым материалам для входа. Это нормально работало, когда приложение действительно выполнялось. Другие ответы предполагают, что npm перезаписывает index.html, но это все еще существует и все еще перенаправляется на скрипт login.pl.

Я знаю, что это не очень хороший вопрос по разумным стандартам, но я получаю отчаяние.

+0

Ошибка: «/var/www/html/login.pl может не существовать или не может выполняться этим процессом». Вы говорите: «/var/ww/html/login.pl действительно существует». Итак, это исполняемый файл? – ThisSuitIsBlackNot

+0

Разрешения - + rwx. Так что да, я дважды проверил, что он существует и является исполняемым. – awimley

+0

'chmod a + rwx' - ужасная практика в целом, но особенно плохо для веб-приложения. 'chmod 755' намного безопаснее. –

ответ

0

По-видимому, НПМ меняет разрешения. Я в конечном итоге восстановить функциональность, выполнив следующие действия:

find /html -type f -exec chmod 755 {} \; 

И потом:

find /html -type d -exec chmod 755 {} \; 

Это позволяет интерпретатора, чтобы выполнить все файлы в каталоге HTML.

Смежные вопросы