3

コンテキスト: Apple の iCloud の代わりに OwnCloud を使用できるように、ローカルの Mac27" (2009) で Apache を実行しようとしています (古き良き "OS X big偏執的なプライバシー上の理由から、私はクパチーノに私が誰を知っているか、何をしているのかを知られたくありません - おそらく見当違いですが、そこに行きます. ://michaelgracie.com/2013/11/13/getting-ios-7-calendar-and-contacts-syncing-directly-with-os-x-10-9-mavericks/ (多くの感謝の意を表します)。

数週間前に Yosemite にアップグレードしたとき (なぜこれを行ったかを思い出してください)、非常に単純なセットアップを修正するのに何年も費やし、戻ってきました。昨日、私は 10.10.1 にアップグレードしました (もう一度言いますが、これを行った理由を思い出してください)。すべてが機能するように見えますが、PHP が実行されていません。

症状として、OwnCloud (localhost/owncloud/index.htm) を実行すると、OwnCloud のロゴとスタイルが表示され、エラーが発生します。

PHP module GD is not installed.
Please ask your server administrator to install the module.

ただし、問題は GD モジュールではないため、これは気晴らしです。Apache は PHP をまったく認識できないと思います。その理由は次のとおりです。

1) PHP は Apache で動作しますか?

私が行くとき:

http://localhost

Apache の「It Works!」が表示されます。メッセージ。

/Library/Webserver/documents/ の index.html.en ファイルを適応させると、そのファイル内から PHP を呼び出すときに、そのメッセージを変更できます。

    <h1>It works!</h1>
    <h2>This file is in /Library/Webserver/Documents</h2>
    <h3>Trying to printout phpinfo()</h3>
    <?php
            echo phpinfo();
    ?>

次に、3 行のテキストが表示されますが、PHP 情報は表示されません。

そのため、その Web ページをレンダリングするときに PHP を使用することはできません。

2) PHP は利用できますか?

これを調査して、ターミナルから次のコマンドを実行します。

sudo echo <?php phpinfo() ?> | php

そして、4,000 行の PHP 情報を取得します。

'--with-gd'

configure コマンドで。

3) Apache は PHP モジュールをロードしましたか?

次に実行します:

httpd -t -D DUMP_MODULES

Apache は、それが使用している他の多くのモジュールの中で、次のことを教えてくれます。

php5_module (shared)

4) httpd.conf ファイルはこれと互換性がありますか?

/etc/apache2 ディレクトリの httpd.conf を調べて、次の行のコメントを外しました。

LoadModule php5_module        libexec/apache2/libphp5.so
LoadModule authn_core_module libexec/apache2/mod_authn_core.so
LoadModule authz_host_module libexec/apache2/mod_authz_host.so

5) 他には?

写真を完成させるために、 /etc/apache2/users ファイルで、自分のユーザー設定を次のように構成しました。

<Directory "/Users/DJBrown/Sites/">
    Options Indexes MultiViews FollowSymLinks
    Require all granted
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

(この時点で、他の人と同様に、StackOverflowの他の回答から多くのことをたどっているので、自分が何をしているのかよくわかりません)。

6) 結論

Apache は PHP が読み込まれた状態で実行され、httpd と PHP の両方をコマンド ラインから問い合わせることができますが、Apache は PHP を実行しません。

それは可能ですか?

私は何を逃したのですか?

感謝して受け取った助け。

DJ

4

1 に答える 1

1

ここに部分的な答えがあります。

httpd.conf の行を変更する

AddType application/x-httpd-php .php

AddType application/x-httpd-php .php .htm .html

apache が HTML ファイル内のインライン PHP コードをレンダリングできるようにします。

(これはhttp://php.about.com/od/advancedphp/p/html_php.htmから取得しました)

私はまだOwnCloudの問題を抱えているので、彼らのフォーラムに持っていきます

ご協力いただきありがとうございます

DJ

于 2014-11-20T16:52:25.000 に答える