PHP5.3 (как модуль Apache) не может записать в / var / www / <имя-проекта> / <корень документа> / cache - PullRequest
0 голосов
/ 14 января 2012

Пожалуйста, будьте терпеливы при чтении, потому что проблема кажется прозрачной, но только кажется. Ситуация такова:

1

OS:     fedora-16 (latest),
httpd:  apache-2.2.21,
php:    php-5.3.8 (works as apache's module)

2. информация о хосте:

DOCUMENT_ROOT: /var/www/[site-name]/public_html
Kohana-3.2.0 (latest stable) installed this way:

$ pwd
/var/www/<site-name>

$ ls -alp
drwxr-xr-x.  6 apache apache 4096 Jan   7 20:35 ./
drwxr-xr-x.  8 apache apache 4096 Jan   7 20:08 ../
drwxr-xr-x.  9 apache apache 4096 Jul  25 03:26 application/
drwxr-xr-x. 10 apache apache 4096 Jul  25 03:26 modules/
drwxr-xr-x.  2 apache apache 4096 Jan   7 20:35 public_html/
drwxr-xr-x. 11 apache apache 4096 Jul  25 03:26 system/

$ cd application/; ls -alp
drwxr-xr-x. 9 apache apache 4096 Jul  25 03:26 ./
drwxr-xr-x. 6 apache apache 4096 Jan   7 20:35 ../
-rwxr-xr-x. 1 apache apache 3612 Jul  25 03:22 bootstrap.php
drwxrwxrwx. 2 apache apache 4096 Jan   8 20:14 cache/
drwxr-xr-x. 4 apache apache 4096 Jul  25 03:26 classes/
drwxr-xr-x. 2 apache apache 4096 Jul  25 03:26 config/
drwxr-xr-x. 2 apache apache 4096 Jul  25 03:26 i18n/
drwxrwxrwx. 2 apache apache 4096 Jul  25 03:26 logs/
drwxr-xr-x. 2 apache apache 4096 Jul  25 03:26 messages/
drwxr-xr-x. 2 apache apache 4096 Jul  25 03:26 views/

Command `top` says that Apache is really starts under `apache` user privileges.

Так как я могу сделать так, чтобы каталоги application / cache и application / logs были недоступны для записи? - Я проверил их также с

var_dump(fopen($_SERVER['DOCUMENT_ROOT'] . '/../application/cache/something.txt', 'w+'));

Тот же результат. Понятия не имею, как это может быть. Нет символических ссылок, нет подключенных дисков и т. Д. Кто-нибудь встречался с такой ситуацией?

1 Ответ

0 голосов
/ 15 января 2012

Отключить selinux (http://www.crypt.gen.nz/selinux/disable_selinux.html).

Кстати, с точки зрения безопасности, очень плохая идея сделать Apache владельцем .php файлов

...