Ограничение в загрузке файла [РЕШЕНО]

Главные вкладки

Аватар пользователя starcomputer@drupal.org starcomputer@dr... 20 февраля 2010 в 1:13

При настройке секции Загрузки файлов ставлю ограничение в 5М, вылазит сообщение:

Настройки PHP ограничивают максимально возможный размер загружаемого файла значением в 2 Мб Mбайт.
В зависимости от настроек сервера эти установки могут быть изменены в общем для всего сервера файле php.ini, в файле php.ini, размещенном в корневой директории Drupal, в файле настроек Drupal сайта settings.php или в файле .htaccess в корневой директории Drupal.

Смотрим php.ini:

;Maximum allowed size for uploaded files.
upload_max_filesize = 16M

Что за черт ???
Глючный модуль Upload ? Или у меня глюки ?
php.ini лежит как и положено в корне.

Комментарии

Аватар пользователя Azerot Azerot 20 февраля 2010 в 9:48

Давайте начнём с того где это "у меня?" Это Денвер или хостинг?
Если хостинг, то в каком php.ini вы меняли? Пробовали ли менять в .htaccess через директивы
php_admin_value?

Аватар пользователя vgoodvin vgoodvin 20 февраля 2010 в 11:04

Есть 2 значения - upload_max_filesize и post_max_size. В зависимости от хостинга можно поменять в своем php.ini или прописать что-то наподобие следующих строк в settings.php

<?php
ini_set
('upload_max_filesize',    '5M');
ini_set('post_max_size',        '5M');
?>
Аватар пользователя UHSF UHSF 20 февраля 2010 в 17:46

Azerot, на хостинге. Пробывал менять php.ini в public_html и в папке с сайтом.
В .htaccess я не знаю как менять.

Аватар пользователя Azerot Azerot 20 февраля 2010 в 20:38

Quote:
Azerot, на хостинге. Пробывал менять php.ini в public_html и в папке с сайтом.

Там менять бесполезно, ибо php читает свои настройки не у вас из public_html, а из /etc/php.ini, куда вам ходу нет.

Quote:
В .htaccess я не знаю как менять.

Такая отговорка не катит! Намёк вам дали, могли бы дальше и сами через яндекс и гугл.

Попробуйте то, что вам написал vgoodvin

Аватар пользователя UHSF UHSF 20 февраля 2010 в 20:55

"Azerot" wrote:
Там менять бесполезно, ибо php читает свои настройки не у вас из public_html, а из /etc/php.ini, куда вам ходу нет.

Ну я же сам отключал register_globals в php.ini.

Аватар пользователя direqtor direqtor 21 февраля 2010 в 4:14

Посмотрите еще, что выводит функция phpinfo(). Там многое указано, в том числе место, откуда берется php.ini. Поменяв настройки, снова смотрите эту функцию, изменения сразу будут видны.

Изменения некоторых переменных могут быть вам недоступны - это зависит от того, как у хостера настроено.

Аватар пользователя direqtor direqtor 22 февраля 2010 в 10:24

Ну, а дальше? Где файл настроек? Что вы меняете? Как это отображается? Вам тут пошагово вопросы задавать или общую идею уловите наконец-то?

Аватар пользователя starcomputer@drupal.org starcomputer@dr... 22 февраля 2010 в 10:33

Сейчас поменял .htaccess
php_admin_value upload_max_filesize 16000000
получил
Internal Server Error 500
php_info выдает:
Language Options asp_tags Allow ASP-style <% %> tags. Off
File Uploads file_uploads Whether to allow HTTP file uploads. On
Paths and Directories include_path Windows: "\path1;\path2" c:\php\includes" .:/usr/lib/php:/usr/local/lib/php
Resource Limits max_execution_time Maximum execution time of each script, in seconds 30
Resource Limits max_input_time Maximum amount of time each script may spend parsing request data 60
Resource Limits memory_limit Maximum amount of memory a script may consume (32MB) 32M
Data Handling register_globals You should do your best to write your scripts so that they do not require register_globals to be on; Using form variables as globals can easily lead to possible security problems, if the code is not very well thought of. Off
Language Options safe_mode Off
main session.save_path where N is an integer. Instead of storing all the session files in /path, what this will do is use subdirectories N-levels deep, and store the session data in those directories. This is useful if you or your OS have problems with lots of files in one directory, and is a more efficient layout for servers that handle lots of sessions. NOTE 1: PHP will not create this directory structure automatically. You can use the script in the ext/session dir for that purpose. NOTE 2: See the section on garbage collection below if you choose to use subdirectories for session storage /tmp
File Uploads upload_max_filesize Maximum allowed size for uploaded files. 2M

Аватар пользователя UHSF UHSF 22 февраля 2010 в 11:33

И лимит(memory_limit) менял я сам же. В своём php.ini.

А вот тут не меняется никак

Вот ещё что есть:

Где замазано, мой логин к аккуанту панели управления...

Аватар пользователя starcomputer@drupal.org starcomputer@dr... 22 февраля 2010 в 11:32

Сообщение хостера:

Этот параметр Вы можете изменить для себя через собственный php.ini.
У нас в Чаво (http://forum.domen.com.ua/viewtopic.php?t=6240) детальнее.

Также обратите внимание, что настройки php.ini не наследуются под каталогами. Его нужно разместить именно в ту папку, где вызывается скрипт, для которого нужны эти настройки.

А вот вторая часть ответа настораживает.
Переписал php.ini в папку с модулем Upload - безрезультатно.

Аватар пользователя vgoodvin vgoodvin 22 февраля 2010 в 11:40

"<a href="mailto:starcomputer@drupal.org">starcomputer@drupal.org</a>" wrote:
Переписал php.ini в папку с модулем Upload - безрезультатно.

Причем здесь папка модуля. Надо в корень закидывать.

Аватар пользователя starcomputer@drupal.org starcomputer@dr... 22 февраля 2010 в 11:45

"vgoodvin" wrote:
Причем здесь папка модуля. Надо в корень закидывать.

Если корень это public_html, то он там по жизни лежит Smile
Или куда-то еще надо ?

Аватар пользователя direqtor direqtor 22 февраля 2010 в 12:31

Задать вопрос не здесь, а хостеру: Почему при изменениях таких-то в файле таком-то я не получаю обещанного вами результата?

Аватар пользователя UHSF UHSF 22 февраля 2010 в 13:03

Я как-то отключал в php.ini "register_globals" и менял "memory_limit". Сейчас и то и другое работает.

Вот с "register_globals" я помучался немного. Я в трёх местах создавал php.ini чтобы заработало.
Из какого места точно работает, я не знаю. Сейчас у меня php.ini есть на уровне папки "public_html" и в самой этой папке. Два php.ini в итоге.

Вот откуда то из этих двух мест получается точно работает.

Аватар пользователя -OC-@drupal.org -OC-@drupal.org 22 февраля 2010 в 13:36

to ТС
я так понял хостер ваш domen.com.ua ?

А вы вот это читали? >>>
Здесь черным по белому написано

Quote:
Установка своих настроек PHP происходит посредством работы с файлом настроек php.ini и состоит из следующих шагов:

1. Получить серверную копию файла "php.ini"
2. Сохранить полученный файл "php.ini" у себя на хостинге
3. Изменить настройки в полученном "php.ini" на те, что нужны именно Вам


файло размещаете в той директории откуда вызывается php-скрипт. т.е в данном случае там же где index.php находится.

Если все делаете правильно, то работает 100%. по крайней мере у меня до сегодняшнего дня работало

Аватар пользователя starcomputer@drupal.org starcomputer@dr... 22 февраля 2010 в 13:54

Попробовал менять другие параметры, все изменения отражаются нормально.
Т.е. phpinfo() считывает нужный файл, вот только размер файла для загрузки изменить не удается.
Может еще есть другие параметры, ограничивающие этот ?
Хотя посмотрел, ничего типа 2М нету. Может есть что-то, что сбрасывает этот параметр в настройки по умолчанию ?

Аватар пользователя starcomputer@drupal.org starcomputer@dr... 22 февраля 2010 в 14:07

"-OC-[user=drupal wrote:
drupal[/user].org"]А вы вот это читали? >>>
Здесь черным по белому написано

Читал конечно Smile
"-OC-[user=drupal wrote:
drupal[/user].org"]файло размещаете в той директории откуда вызывается php-скрипт. т.е в данном случае там же где index.php находится

Он там и лежит, и все изменения в нем отражаются в phpinfo(). Кроме одного - не могу изменить upload_max_filesize Sad
Только что поменял memory_limit - изменения отразились.

Аватар пользователя -OC-@drupal.org -OC-@drupal.org 22 февраля 2010 в 14:13

странно.. хотя я этот параметр не менял..
тогда долбайте саппорт.. только задавайте конкретный вопрос почему именно этот параметр не меняется. Саппорт там вполне вменяемый.. Smile

Аватар пользователя direqtor direqtor 22 февраля 2010 в 14:19

"<a href="mailto:starcomputer@drupal.org">starcomputer@drupal.org</a>" wrote:
и все изменения в нем отражаются в phpinfo().
В суппорт, в суппорт. Иногда они сами толком не знают, что у них там разрешено-запрещено.

Аватар пользователя starcomputer@drupal.org starcomputer@dr... 22 февраля 2010 в 14:33

В общем нарыл на другом хостинге инфу о том, что размер файла закачки может быть ограничен тарифным планом, тогда этот параметр изменить не получится. Задал вопрос своему хостеру - жду.

Аватар пользователя -OC-@drupal.org -OC-@drupal.org 22 февраля 2010 в 14:58

ну сейчас попробовал пока не закрыли эккаунт изменить на 10М . Все поменялось без проблем.
а как вы смотрите параметы PHP?
вот для примера
1 с установленым upload_max_filesize = 10M
2 с установленым upload_max_filesize по умолчанию

Аватар пользователя starcomputer@drupal.org starcomputer@dr... 22 февраля 2010 в 15:17

Просто в содержание story вставил php код
<?php
phpinfo();
?>
Он и выводится.
http://starcomputer.com.ua/content/phpinfo
Если бы выводилось не то, то при изменении в файле я бы не видел изменений. НО !!! memory_limit то я могу менять легко, и другие параметры тоже, и изменения выводятся.
А Вы проверяли на domen.com.ua ?
Думаю, что это все-же связано с тарифным планом, хотя у меня и безлимит.

Аватар пользователя -OC-@drupal.org -OC-@drupal.org 22 февраля 2010 в 15:38

ну да у них же.
проверьте точно ли php.ini у вас лежит в корне сайта (вместе с index.php). Создайте обычный файлик вызывающий phpinfo() в том же месте и посмотрите через него..

Аватар пользователя starcomputer@drupal.org starcomputer@dr... 22 февраля 2010 в 15:55

"-OC-[user=drupal wrote:
drupal[/user].org"]проверьте точно ли php.ini у вас лежит в корне сайта (вместе с index.php).

Точно. Я ж его там меняю и изменения отражаются.
Да и phpinfo() показывает, откуда он берет данные.
Вобщем получается я могу поменять все, что угодно и увидеть изменения в phpinfo(), кроме размера загружаемого файла.
"-OC-[user=drupal wrote:
drupal[/user].org"]Создайте обычный файлик вызывающий phpinfo() в том же месте и посмотрите через него

Да пробовал, только не понял как его запустить на исполнение. Sad

Аватар пользователя UHSF UHSF 24 февраля 2010 в 18:37

Я решил проблему так:
Написал хостеру о проблеме, почему мол не меняется upload_max_filesize через php.ini?
Мне ответили: Были не совсем корректно прописаны директивы по увеличению размера
закачанного файла в php.ini. Сейчас мы их проправили, и это значение
увеличено до 30 М. Также напоминаем, что файл php.ini необходимо помещать не в папку
public_html, а на одном уровне с ней, в корень хостинга.

«upload_max_filesize = 30M
post_max_size = 60M»

Вот такие дела.

Аватар пользователя direqtor direqtor 24 февраля 2010 в 18:47

Что и говорилось страницей назад: задай хостеру внятные вопросы. Они обычно ребята понятливые - ты же им деньги платишь. Smile

Аватар пользователя otk@drupal.org otk@drupal.org 21 сентября 2010 в 10:54

«файл php.ini необходимо помещать не в папку
public_html, а на одном уровне с ней, в корень хостинга.»
У меня ограничение снялось как раз после того, как в корень сайта положил php.ini (скопировал из корня хоста)