mysql — запуск скомпилированной программы C ++ на основе Netbeans в виде CGI, выдающий ошибку разрешения

С помощь SO сообщества Мне удалось запустить мой первый файл на основе MySQL в C ++. Теперь у вас следующий шаг — запустить на Apache как файл CGI. На Apache выдает 500 Internal Server Error, а в журнале сервера я получил следующее:

Sat Jan 19 12:18:18 2013] [notice] caught SIGTERM, shutting down
[Sat Jan 19 12:18:23 2013] [notice] Digest: generating secret for digest authentication ...
[Sat Jan 19 12:18:23 2013] [notice] Digest: done
[Sat Jan 19 12:18:23 2013] [notice] Apache/2.0.63 (Unix) PHP/5.3.2 DAV/2 configured -- resuming normal operations
[Sat Jan 19 12:18:51 2013] [error] [client 127.0.0.1] Premature end of script headers: addproduct.cgi

Я выполнил следующие шаги

1- Я зашел в папку DEBUG, созданную netbeans, и переименовал файл addproduct.o в addproduct.cgi

2- Скопировал его в htdocs / myappfolder /

Мой файл использует библиотеки MySQL и Boost, и я думаю, что получаю ошибку по той же причине. Я хочу знать, как я могу связать включает в себя а также ЛИЭС вместе с CGI?

Ниже приведен код C ++, который поставляется вместе с MySQL Connector / C ++

Обновить: После возни с путями я получаю следующую ошибку:

инвентарь dyld: библиотека не загружена: libmysqlcppconn.6.dylib
Ссылка от:
/Applications/MAMP/htdocs/inventory/Inventory/dist/Debug/GNU-MacOSX/./inventory
Причина: изображение не найдено Trace / BPT trap http://pastie.org/5723836

otool дает следующую информацию:

otool -LMV инвентарь

inventory:
libmysqlcppconn.6.dylib (compatibility version 6.0.0, current version 6.1.1)
time stamp 2 Thu Jan  1 05:00:02 1970
/usr/lib/libstdc++.6.dylib (compatibility version 7.0.0, current version 7.9.0)
time stamp 2 Thu Jan  1 05:00:02 1970
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 125.2.11)

1

Решение

Похоже, вы используете не тот файл. Файл .o — это объектный файл, который является результатом компиляции, но не был связан. Я ожидаю, что netbeans также сгенерировал файл с именем addproduct без каких-либо расширений. Это ваш исполняемый файл, который может вызвать apache.

PS Если вы серьезно относитесь к C ++ и CGI, возможно, вы захотите взглянуть на FastCGI.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]