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