Сценарии Perl CGI не могут найти модули в библиотеке

Это проблема Apache / Perl, с которой я столкнулся.

Я использую модуль CPAN в своем приложении Perl CGI. Это Spreadsheet :: ParseExcel

Я установил модуль cpan с файлами tar.gz.

Я установил зависимости.

Однако я сделал это как пользователь без полномочий root. Библиотека, содержащая эти файлы, находится в папке пользователя / home / user / lib

. Теперь я успешно настроил Apache2 на этом компьютере. Каталог html - это / var / www / html, а папка cgi - / var / www / html / cgi-bin. Я проверил, что они работают, потому что все скрипты в этой папке, которые не требуют специальных модулей, работают в моем браузере Firefox, т.е. Привет, мир, дампы данных, простые формы.

Однако, когда я пытаюсь запустить скрипты, использующие "Spreadsheet :: ParseExcel", я получаю сообщение об ошибке, что модуль не может быть найден в @INC. Однако у меня есть " Мне сложно перенести изменения, которые я внес в свой файл config / doctrine / schema.yml. Я добавил возраст столбца в пользовательскую таблицу. Затем я применил доктрину php symfony: generate-migrations-diff ...

Эй. Мне трудно перенести изменения, которые я сделал в моем файле config / doctrine / schema.yml.

Я добавил столбец age в таблицу user . Затем я выполнил php symfony doctrine: generate-migrations-diff , а затем php symfony doctrine: migrate .

Заглянув в свою базу данных, вы увидите столбец age теперь добавляется без удаления данных.

Но мой /lib/model/doctrine/base/BaseUser.class.php не изменился, нет поля или функций age для age . Итак, я также выполнил команду php symfony doctrine: build-model . Наконец, модель обновлена ​​/ перенесена.

Интересно, это единственный способ? Кажется, много работы, и я каждый раз боюсь что-то упустить.

Могу я сразу войти в phpmyadmin, добавить там изменения в базу данных и просто выполнить php symfony doctrine: build-schema , и пропустить часть миграции (две команды).

Также Когда доходит до использования моделей, я прав, что /lib/model/doctrine/User.class.php - это то место, где я могу создавать функции и тому подобное для моего "класса данных" пользователя? Например, создание функции isFemale . Если нет, то где бы могла быть такая функция?

Это может быть плохой вопрос, но почему уровень модели находится внутри пути / lib / doctrine? Насколько я понял, вы храните модули внутри приложений, где вы создаете свое представление и контроллер. Почему модель должна быть снаружи. Так я могу делать модели без подключенного контроллера и представления?

Спасибо.

5
задан Johannes 25 January 2011 в 23:55
поделиться