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

标签 php html apache osx-yosemite owncloud

上下文:我正在尝试在我的本地 Mac27"(2009) 上运行 Apache,这样我就可以使用 OwnCloud 作为 Apple iCloud 的替代品(我只想像在老式的“OS X 大猫”时代。出于偏执的隐私原因,我不想让 Cupertino 知道我认识谁或我在做什么 - 可能放错了地方,但你去了)。我对此的涉足是基于迈克尔的博客文章Gracie http://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 Logo 和样式,然后出现错误:

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

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

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

2) PHP 是否可用?

为此,我从终端运行以下命令:

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

我得到了 4000 行 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。

这可能吗?

我错过了什么?

感谢收到的任何帮助。

音乐家

最佳答案

这是部分答案。

更改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 问题,我会把它带到他们的论坛上

感谢小鸟的帮助

音乐家

关于升级到 OS x 10.10.1 Yosemite 后,PHP 停止在 Apache 上工作 - Owncloud 损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27036254/

相关文章:

php - 如何将字符串颜色转换为其十六进制代码或 RGB 值?

html - 由于 zIndex,超链接不起作用

java - LdapInvalidDn异常 : unexpected token:

php - 自定义 PHP 扩展

javascript - 如何将 php 中接收到的数据分类为 html 中的 3 个不同的 div 标签?

php - Google Drive - 如何列出指定文件夹中的所有文件

jquery - 如何在加载页面主体背景图像之前显示加载图像?

html - 使用 HTML anchor 标记后内容隐藏在标题后面

linux - Web服务器攻击解决方案?

apache - 在 Apache 中混合使用 RewriteRule 和 ProxyPass