3

最初に、はい、私はこれをグーグルで検索し、具体的にはスタックオーバーフローで検索したと言って始めましょう。多くの答えを見つけて、すべて試しました。この時点で、私の唯一のリソースは自分で質問を投稿することだと思います。たとえシナリオが繰り返されているように聞こえても、親切に助けてください.

状況は非常に基本的なもので、Ubuntu デスクトップ 10.04 では、このガイドとそのスピンオフhere に従って、Synaptic と Php5 を介して apache をセットアップしました。この時点で、コマンド ラインで php スクリプトを呼び出すと、次のように機能します。

  php test.php

my hello world を問題なく出力します。しかし、firefox にアクセスして test.php を指定すると、403 エラー Forbidden が表示されます...

/var/、/var/www/、および /var/www/test.php の所有権を、考えられるすべての変数に変更しました (www-data [このユーザーとして apache を実行]、purefan [通常のユーザー]、root )違いはありません。許可を数回変更しました777、0777(念のため)、644、755、変更なし。CLI から phpinfo をファイルに取得し、ここに追加しました。

http://localhost/index.phpにアクセスすると、Apache のデフォルトの "It Works!" が表示されます。しかし、そのファイルにphpコンテンツを追加すると、単に無視され、エラーは表示されません(エラーログとsyslogもチェックしました)。

ですから、何か提案があれば教えてください。これは生死の問題ではありませんが、プリフォークの代わりにワーカーを使用してセットアップしたいと考えています。

お時間をいただきありがとうございます

4

5 に答える 5

6

私はまったく同じ問題を抱えていました..最初に、ワーカーmpmを使用してapache2をインストールし、fastcgiを使用してphp5を仮想マシンに正常にインストールしました..しかし、本番ホストで(まったく同じプロセスを使用して)試してみると、禁じられたエラーが発生しました。

いろいろ検索した結果、やっと動くようになりました。ここでは、それを機能させるために私が行った手順を見つけることができます。

これらは、mpm-worker を使用した apache2 と fastcgi を使用した php5 を取得するためにインストールしたパッケージです。

  • Apache2
  • apache2-mpm-worker
  • php5-cli
  • php5-cgi
  • php5-共通
  • libapache2-mod-fcgid

次に、php ファイルの使用方法を apache に伝えるファイルを作成する必要があります。/etc/apache2/conf.d ディレクトリの下に php.conf という名前のファイルを作成しました。これはコンテンツである必要があります:

<Directory /usr/share>
    AddHandler fcgid-script .php
    FCGIWrapper /usr/lib/cgi-bin/php5 .php
    Options ExecCGI FollowSymlinks Indexes
</Directory>

<Files ~ (\.php)>
    AddHandler fcgid-script .php
    FCGIWrapper /usr/lib/cgi-bin/php5 .php
    Options  ExecCGI
    allow from all
</Files>

それだけです。明らかに、ファイルのユーザー、グループ、およびアクセス許可が正しいことを確認してください (ユーザーとグループの www-data、ファイルとフォルダーの 644 & 755)。

私の失敗は、<Files></Files>タグを追加しなかったことです。追加後、ようやくサイトにアクセスできました。タグの下にphp構成を配置する前に、ホスト<Files>のタグの下にある仮想ホストにこれらの行を追加していました<Directory>。このような:

<Directory /var/www/website/>
    AddHandler fcgid-script .php
    FCGIWrapper /usr/lib/cgi-bin/php5 .php
    Options  ExecCGI Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

しかし、これはうまくいきませんでした!私の仮想マシンでは、まさにこの行があり、完全に機能します...だから、私のソリューションもあなたのために働くかもしれません.

これが誰かに役立つことを願っています:)

編集:これは私の命を救ったフォーラム スレッドです: http://forum.parallels.com/showthread.php?t=85413

于 2012-05-11T19:28:10.523 に答える
1

うーん、Apache2 PHP モジュールをインストールしましたか?

php5-cli をインストールしたが、apache2 モジュールをインストールしていないように思えます。

このページでは、短い例を見つけましたおそらく私はあなたを助けることができました。

于 2010-10-25T09:10:11.317 に答える
0

IndexesタグにとFollowSymLinksを追加するとFiles、問題が解決しました。

<Files ~ "\.php$>"
  AddHandler fcgid-script .php
  FcgidWrapper "c:/php/php-cgi.exe" .php
  Options ExecCGI Indexes FollowSymLinks
  allow from all
</Files>
于 2019-09-16T19:28:22.853 に答える
0

それは本当に私を困惑させます。まったく同じ問題がありました。そのように解決しました:次のコンテンツを含む.htaccessファイルを追加しました:

# Follow symbolic links in this directory.
Options +FollowSymLinks

そして、そのフォルダーの下のすべてが突然正常に機能し始めました。

于 2013-02-12T21:11:52.187 に答える