0
我配置了cgi-bin並試圖運行C++目標文件,但不是在瀏覽器上顯示結果,而是下載了可執行文件。C++可執行文件從瀏覽器下載而不是顯示結果
步驟我都遵循:
步驟中的public_html和配置的public_html的cgi-bin。在終端
- $ sudo的運行以下命令a2enmod CGI
- $ sudo的a2enmod cgid進行
- $ sudo的a2enmod USERDIR
- $ sudo的服務的Apache2重啓
- $的mkdir〜/的public_html
- $ CD 〜/ public_html
- $ mkdir cgi-bin
- $ cd/etc/apache2
- $ sudo的VIM網站可用/ 000-default.conf
- 添加下面的文本文件:
ScriptAlias /cgi-bin/ /home/*/public_html/cgi-bin/
<Directory "/home/*/public_html/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
SetHandler cgi-script
Order allow,deny
Allow from all
</Directory>
- $ sudo的服務的Apache2重啓
在此之後,我創建了一個C++文件 與此代碼
#include <iostream>
using namespace std;
int main()
{
cout << "Content-type:text/html \n\n";
cout << "Hello World - First CGI Program";
return 0;
}
編譯和使用該
g++ -o example example.cpp
當我運行它在瀏覽器 http://localhost/~username/public_html/cgi-bin/example
的例子對象文件得到下載,而不是顯示在瀏覽器中的結果鏈接它。
這看起來像是[配置'cgi-bin'的簡單步驟](https://linuxconfig.org/simple-cgi-and-apache-examples-on-ubuntu-linux),它可能有你的答案。 –
(請原諒我的意見刪除!)或許問題是可執行位不是爲所有用戶設置的 - 'chmod a + x example'是否有所作爲?或者它已經是'rwxrwxr-x'之類的嗎? –
是的,它是權限問題,現在可執行文件在瀏覽器上正常工作。謝謝。 –