html — PHP перестал работать на Apache после обновления до OS x 10.10.1 Yosemite — Owncloud не работает

Контекст: я пытаюсь запустить Apache на своем локальном Mac27 «(2009), чтобы я мог использовать OwnCloud в качестве альтернативы iCloud от Apple (я просто хочу сделать локальную синхронизацию моего календаря, как в старой доброй» OS X большой кошачьи дни. Из-за параноидальных соображений конфиденциальности я не хочу, чтобы Купертино знал, кого я знаю или что я делаю — вероятно, неуместно, но вы идете). Мой набег в этом был основан на сообщении в блоге Майкла Грейси в 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, а затем появляется ошибка:

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

Это, однако, отвлекает, потому что проблема не в модуле GD — я думаю, что Apache вообще не может видеть PHP. Причина в следующем:

1) PHP работает на Apache?

Когда я иду в:

http://localhost

Я вижу апач «Это работает!» сообщение.

Адаптация файла index.html.en в / Library / Webserver / documents / позволяет мне, однако, изменить это сообщение, когда я вызываю 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 с этим:

Я прошел через httpd.conf в моем каталоге / etc / apache2 и раскомментировал следующие строки:

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.

Это возможно?

Что я пропустил?

Любая помощь с благодарностью получена.

диджей

3

Решение

Вот частичный ответ.

Изменение строки в httpd.conf

AddType application/x-httpd-php .php

в

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

Разрешает apache отображать встроенный PHP-код в HTML-файлах.

(Я получил это от http://php.about.com/od/advancedphp/p/html_php.htm)

У меня все еще есть проблема с OwnCloud, которую я приму на их форум.

Спасибо за вашу помощь

диджей

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]