Прежде всего я хотел бы остановиться на причине, почему cgi работает локально, а не на сервере, как вы заявляете:
У меня есть скрипт cgi, работающий на моем локальном хосте (ubuntu 10.04)просто поместив их в / usr / lib / cgi-bin
Есть одна важная вещь, которую вы здесь не видите;Конфигурация Apache по умолчанию.Если вы перейдете на /etc/apache2/sites-enabled/000-default
и проверите его содержимое, вы увидите следующее:
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
- то же самое, что вы включаете на сервере для использования другого пути /var/www/cgi-bin/
Если вы возьмете свои cgi-файлы и поместите их в /usr/lib/cgi-bin/
на сервере, они будут работать «из коробки», как и ожидалось.
Теперь ... что касается ошибки, оба ответа пока даны user689374 и JosephCastro верны.Сценарии Transbank cgi являются 32-битными аппликациями, поэтому для работы в 64-битных средах они должны иметь ia32-libs
, И они ломаются, если не загружены в двоичном режиме, так как имеют некоторые странные символы, которые удаляются или изменяются при загрузкеЛюбым другим путем.Вы можете использовать Filezilla и изменить режим передачи на двоичный.
Надеюсь, это поможет вам и всем, кто борется с трансбанком ... это действительно боль ...
РЕДАКТИРОВАТЬ:
Просто понял, что это 2-летний вопрос ... ну ... все же.Вокруг этой конкретной темы так мало информации, что я все равно оставлю ее здесь: D