0

私は、Ubuntu Server 11.04(32ビット)を実行しているLinuxサーバーでWebサイトをホストしています。WebサーバーはApacheです。サイトのページの1つに、PHP電子メールスクリプトにリンクする送信を含むフォームがあります。フォームコード:

<form id="contact_form" method="post" action="email.php">
<table>
<tr>
<td>Name:</td>
<td><input type="text" id="name" class="textbox"/></td>
</tr>
<tr>
<td>Email:</td>
<td><input type="text" id="email" class="textbox"/></td>
</tr>
</table>
<div id="message_box_header">Describe your problem:<br /></div>
<textarea class="textbox"></textarea><br />
<input type="submit" value="Submit!" id="submit" />
</form>

Linuxサーバーには、最新バージョンのsendmailがあります。私はPHPをまったくよく知らず、スクリプトを事前に作成していたので、おそらく私の問題はそこにあると思います。プライバシー保護のため、ウェブサイト/メールをダミーのものに置き換えました。これがemail.phpです:

<?php
  $email = $_REQUEST['email'] ;
  $message = $_REQUEST['message'] ;

  mail( "myemail@gmail.com", "Form Data",
    $message, "From: $email" );
  header( "Location: http://mywebsite.com" );
?>

実際のウェブサイトで送信ボタンをクリックすると、email.phpがダウンロードされます。

4

3 に答える 3

2

PHPが実際にサーバーにインストールされていることを確認してください(crypticの指示に従って、最初に行う必要があります)。

インストールされていても問題が解決しない場合は、これをapache config(.htaccess)に追加します。

AddType application/x-httpd-php .php 
于 2012-12-30T18:14:30.017 に答える
0

次のコマンドを実行して、パッケージマネージャーを更新します。

apt-get update

インストールmod_fcgidphp5-cgiて、次のコマンドを実行します。

apt-get install libapache2-mod-fcgid php5-cgi

mod_fcgidインストーラーによって有効になります。それ以外の場合は、次のコマンドを実行して有効にします。

a2enmod fcgid

これで、これらの事前設定された行をApache設定ファイルに追加できます。

AddHandler fcgid-script .php
FcgidIOTimeout 3600
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000 
FcgidMaxRequestLen 52428800
FcgidConnectTimeout 3600
FcgidMaxProcesses 12
FcgidOutputBufferSize 64
FcgidProcessLifeTime 3600
FcgidMaxRequestsPerProcess 500
FcgidMinProcessesPerClass 0
FcgidWrapper /usr/bin/php-cgi .php

あなたのapache設定ファイルはで利用できるかもしれません/etc/apache2/apache2.conf

高速cgiハンドラーの詳細については、http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.htmlを参照してください。

于 2012-12-30T18:37:58.933 に答える
0

nameの代わりに、入力フィールドの属性を設定する必要がありますid。それ以外の場合、データは送信されません。ファイルがダウンロードされている場合、これはスクリプトではなくWebサーバーの構成エラーです。

于 2012-12-30T18:17:49.097 に答える