上下文:我正在尝试在我的本地 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/