#c #apache #cgi
#c #apache #cgi
Вопрос:
Я пытаюсь отредактировать файл с помощью CGI C вне cgi-bin (~/workspace/files/html), и я попытался открыть с помощью этого кода (отредактированное имя рабочей области и пользователь):
pfile = fopen("https://workspacename-user.c9users.io/files/html/output.html", "w");
Я получаю внутреннюю ошибку сервера, и когда я проверил журналы ошибок, она показала:
[Wed Oct 05 18:40:12.350766 2016] [cgi:error] [pid 28008] [client 10.240.0.213:54468] End of script output before headers: test.cgi, referer: https://workspacename-user.c9users.io/files/html/main.html
Я попытался изменить местоположение файла, который я пытаюсь открыть, непосредственно в cgi-bin:
pfile = fopen("output.html", "w");
и, похоже, это сработало. Есть ли способ решить эту проблему?
Комментарии:
1. Вы не можете
fopen()
указать URL на C (может быть, вы привыкли к PHP?). Вам нужно указать обычный путь к файловой системе.2. »
fopen
принимает пути, которые действительны в файловой системе на момент выполнения». Пожалуйста, смотритеfopen
Ответ №1:
Как оказалось, fopen не может принимать URL-адреса. Я попытался отредактировать код, чтобы:
pfile = fopen("../../../home/ubuntu/workspace/files/html/output.html", "w");
и это сработало.