PHP 在升级到 OS x 10.10.1 Yosemite - Owncloud 后停止在 Apache 上工作


PHP stopped working on Apache after upgrade to OS x 10.10.1 Yosemite - Owncloud broken

上下文:我正在尝试在本地Mac27上运行Apache"(2009),以便我可以使用OwnCloud作为Apple的iCloud的替代品(我只想像古老的"OS X大猫"时代一样对我的日历进行本地同步。出于偏执的隐私原因,我不想让库比蒂诺知道我认识谁或我在做什么——可能是放错地方了,但你去吧)。我对此的尝试是基于Michael Gracie在 http://michaelgracie.com/2013/11/13/getting-ios-7-calendar-and-contacts-syncing-directly-with-os-x-10-9-mavericks/的一篇博客文章(非常感谢)。

几周前当我升级到优胜美地时(提醒我为什么这样做?我花了一个年龄来修补我非常简单的设置,然后我回来了.昨天我升级(再次提醒我为什么这样做?)到 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"它有效!"消息。

在/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();
    ?>

然后我看到三行文本但没有PHP信息。

因此,在呈现该网页时,PHP 不可用。

2) PHP 是否可用?

调查这个问题,我从终端运行以下命令:

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

我得到了四千行PHP信息,其中包括

'--with-gd'

在配置命令中。

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

这是一个部分答案。

更改 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