Я скачал и установил бинарный файл из
http://mac.softpedia.com/get/Word-Processing/pdftotext-Installer-Package.shtml#download
он устанавливается в /usr/local/bin/pdftotext
и это прекрасно работает локально.
и в php я выполняю следующую команду, чтобы заставить его работать.
$cmd = "pdftotext -f $page -l $page pdf/$name abc.txt";
$r = exec($cmd,$res);
Как я могу гарантировать, что он работает на эластичном бобовом стебле, какие меры мне нужно предпринять, чтобы заставить его работать там.
Могу ли я просто загрузить бинарный файл со своими скриптами и заставить его работать там?
Предполагая, что у вас уже есть среда Elastic Beanstalk, я предлагаю вам вручную войти на сервер EC2 и вручную установить там pdftotext.
Если это хорошо работает с вашим приложением, вам нужно убедиться, что pdftotext автоматически устанавливается Elastic Beanstalk при запуске новых серверов. Видите ли, Elastic Beanstalk берет на себя ответственность за предоставление серверов, то есть веб-серверы будут работать вверх и вниз по своему усмотрению. Поэтому, если вы установите pdftotext на ваш сервер ec2 вручную, он не будет установлен, когда Elastic Beanstalk запускает новый сервер.
Два способа обойти это:
1. убедитесь, что pdftotext установлен каждый раз при запуске нового сервера
2. создайте AMI с pdftotext и убедитесь, что Elastic Beanstalk использует его при запуске нового сервера
# 1 сложнее и включает в себя сценарии. Документация не дружелюбная. посмотреть здесь.
# 2 — это простой способ, требующий только установки AMI (моментального снимка). посмотреть здесь
Других решений пока нет …