Загрузка файла через php input ошибка не работает

 

Пользователь 73078

Постоянный посетитель

Сообщений: 211
Баллов: 35
Регистрация: 08.10.2010

#1

0

19.12.2015 17:03:54

Доброго времени суток! Возникла следующая проблема. Подключаю к интернет-магазину систему оплаты Яндекс.Касса. Нажимаю на кнопку «Проверка HTTPS», выдаётся ошибка:
п

Тогда захожу в админку через https и провожу полное тестирование системы («Настройка—>Проверка системы—>Начать тестирование»). Выдаётся ошибка работы с сокетами и всё, что с ними связано:

Вот журнал проверки системы:

Цитата
Журнал проверки системы
2015-Dec-19 18:54:21 Наличие необходимых модулей php (check_php_modules): Ok
Все необходимые модули установлены
2015-Dec-19 18:54:21 Обязательные параметры PHP (check_php_settings): Ok
Настройки правильные
2015-Dec-19 18:54:21 Модули веб-сервера (check_security): Ok
Конфликтов не выявлено
2015-Dec-19 18:54:21 Значения переменных сервера (check_server_vars): Ok
Корректные
2015-Dec-19 18:54:21 Сохранение сессии (check_session): Ok
50% done
2015-Dec-19 18:54:21 Сохранение сессии (check_session): Ok
Успешно
2015-Dec-19 18:54:22 Параметры настройки UTF (mbstring и константа BX_UTF) (check_mbstring): Ok
Правильные. Сайт работает в однобайтовой кодировке
2015-Dec-19 18:54:22 Служебные скрипты в корне сайта (check_install_scripts): Ok
Отсутствуют
2015-Dec-19 18:54:22 Работа с сокетами (check_socket): Fail
Connection to ssl://portfolio59.ru:443 Fail
Socket error [0]:

Ошибка! Не работает
2015-Dec-19 18:54:22 Параметры подключения к базе данных (check_dbconn_settings): Ok
Успешно
2015-Dec-19 18:54:22 Лишний вывод в файлах конфигурации (check_dbconn): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2015-Dec-19 18:54:22 Выполнение агентов на cron (check_bx_crontab): Warning
Замечание. Агенты выполняются на хитах, рекомендуется перевести выполнение агентов на cron
2015-Dec-19 18:54:22 Сохранение сессии без UserAgent (check_session_ua): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2015-Dec-19 18:54:22 Настройки сайтов (check_sites): Ok
Правильные
2015-Dec-19 18:54:23 Передача объектов по ссылке (check_clone): Ok
Успешно
2015-Dec-19 18:54:23 Размер стека и pcre.recursion_limit (check_pcre_recursion): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2015-Dec-19 18:54:23 Вызов method_exists на строке (check_method_exists): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2015-Dec-19 18:54:23 Загрузка файла (check_upload): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2015-Dec-19 18:54:23 Загрузка файла больше 4Мб (check_upload_big): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2015-Dec-19 18:54:23 Загрузка файла через php://input (check_upload_raw): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2015-Dec-19 18:54:23 Передача POST запроса с большим числом параметров (check_post): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2015-Dec-19 18:54:24 Отправка почты (check_mail): Ok
Успешно
2015-Dec-19 18:54:24 Отправка почтового сообщения больше 64Кб (check_mail_big): Ok
Успешно
2015-Dec-19 18:54:24 Проверка на наличие неотправленных сообщений (check_mail_b_event): Ok
Успешно
2015-Dec-19 18:54:25 Внутреннее перенаправление (функция LocalRedirect) (check_localredirect): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2015-Dec-19 18:54:25 Фактическое ограничение памяти (check_memory_limit): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2015-Dec-19 18:54:25 Работа с файлами кеша (check_cache): Ok
Успешно
2015-Dec-19 18:54:25 Доступ к серверу обновлений (check_update): Ok
Успешно
2015-Dec-19 18:54:25 HTTP авторизация (check_http_auth): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2015-Dec-19 18:54:25 Создание и запуск файла (check_exec): Warning
Замечание. Не удалось проверить из-за ошибки в работе с сокетами
2015-Dec-19 18:54:26 Функция getimagesize для swf (check_getimagesize): Ok
Успешно
2015-Dec-19 18:54:26 Версия MySQL-сервера (check_mysql_bug_version): Ok
Успешно
2015-Dec-19 18:54:27 Время на БД и веб-сервере (check_mysql_time): Ok
Успешно
2015-Dec-19 18:54:27 Режим работы MySQL (check_mysql_mode): Ok
Успешно
2015-Dec-19 18:54:27 Кодировка соединения (check_mysql_connection_charset): Ok
character_set_connection=cp1251, collation_connection=cp1251_general_ci, character_set_results=cp1251
Успешно
2015-Dec-19 18:54:27 Кодировка базы данных (check_mysql_db_charset): Ok
CHARSET=cp1251, COLLATION=cp1251_general_ci
Успешно
2015-Dec-19 18:54:27 Кодировки таблиц в БД (check_mysql_table_charset): Ok
Успешно
2015-Dec-19 18:54:40 Структура базы данных (check_mysql_table_structure): Ok
0% done
2015-Dec-19 18:54:47 Структура базы данных (check_mysql_table_structure): Ok
3% done
2015-Dec-19 18:54:47 Структура базы данных (check_mysql_table_structure): Ok
6% done
2015-Dec-19 18:54:47 Структура базы данных (check_mysql_table_structure): Ok
9% done
2015-Dec-19 18:54:54 Структура базы данных (check_mysql_table_structure): Ok
12% done
2015-Dec-19 18:54:57 Структура базы данных (check_mysql_table_structure): Ok
16% done
2015-Dec-19 18:54:59 Структура базы данных (check_mysql_table_structure): Ok
19% done
2015-Dec-19 18:55:03 Структура базы данных (check_mysql_table_structure): Ok
22% done
2015-Dec-19 18:55:03 Структура базы данных (check_mysql_table_structure): Ok
25% done
2015-Dec-19 18:55:16 Структура базы данных (check_mysql_table_structure): Ok
29% done
2015-Dec-19 18:55:17 Структура базы данных (check_mysql_table_structure): Ok
32% done
2015-Dec-19 18:55:22 Структура базы данных (check_mysql_table_structure): Ok
35% done
2015-Dec-19 18:55:22 Структура базы данных (check_mysql_table_structure): Ok
38% done
2015-Dec-19 18:55:30 Структура базы данных (check_mysql_table_structure): Ok
41% done
2015-Dec-19 18:55:36 Структура базы данных (check_mysql_table_structure): Ok
45% done
2015-Dec-19 18:56:08 Структура базы данных (check_mysql_table_structure): Ok
48% done
2015-Dec-19 18:56:09 Структура базы данных (check_mysql_table_structure): Ok
51% done
2015-Dec-19 18:56:09 Структура базы данных (check_mysql_table_structure): Ok
54% done
2015-Dec-19 18:56:11 Структура базы данных (check_mysql_table_structure): Ok
58% done
2015-Dec-19 18:56:55 Структура базы данных (check_mysql_table_structure): Ok
61% done
2015-Dec-19 18:56:55 Структура базы данных (check_mysql_table_structure): Ok
64% done
2015-Dec-19 18:57:03 Структура базы данных (check_mysql_table_structure): Ok
67% done
2015-Dec-19 18:57:20 Структура базы данных (check_mysql_table_structure): Ok
70% done
2015-Dec-19 18:57:20 Структура базы данных (check_mysql_table_structure): Ok
74% done
2015-Dec-19 18:57:27 Структура базы данных (check_mysql_table_structure): Ok
77% done
2015-Dec-19 18:57:29 Структура базы данных (check_mysql_table_structure): Ok
80% done
2015-Dec-19 18:57:39 Структура базы данных (check_mysql_table_structure): Ok
83% done
2015-Dec-19 18:57:39 Структура базы данных (check_mysql_table_structure): Ok
87% done
2015-Dec-19 18:57:41 Структура базы данных (check_mysql_table_structure): Ok
90% done
2015-Dec-19 18:57:42 Структура базы данных (check_mysql_table_structure): Ok
93% done
2015-Dec-19 18:57:43 Структура базы данных (check_mysql_table_structure): Ok
96% done
2015-Dec-19 18:57:43 Структура базы данных (check_mysql_table_structure): Ok
Успешно

В чём причина данной ошибки и как её исправить?

 

Здравствуйте, возникла аналогичная ошибка при подключении. Вы нашли, как исправить?

 

Сам разобрался. В параллельной ветке форума. Нужно понизить версию PHP до 5.5, вместо 5.6

 

Пользователь 73078

Постоянный посетитель

Сообщений: 211
Баллов: 35
Регистрация: 08.10.2010

#4

0

22.01.2016 15:02:13

Цитата
Нужно понизить версию PHP до 5.5, вместо 5.6

Это не решение проблемы. У меня, например, нет возможности понизить версию, а работать как-то надо…

 

Каким образом удалось решить если без понижения версии PHP до 5.5 ?

 

Пользователь 73078

Постоянный посетитель

Сообщений: 211
Баллов: 35
Регистрация: 08.10.2010

#6

0

27.01.2016 07:58:13

Цитата
Каким образом удалось решить если без понижения версии PHP до 5.5 ?

Пока никак((( Единственно что пришло в голову — нужно найти того, у кого всё нормально работает на php 5.6 и посмотреть его конфигурацию и скопировать сертификаты. Пока что никого не нашёл. Также эту тему веду здесь —

https://forum.mageialinux.ru/viewtopic.php?pid=19086

 

Нашел решение данной проблемы.

НАписал в тех. поддержку хостинга

Вот их ответ.

По всей видимости, проблема заключается в наличии AAAA-записи в настройках домена — ее можно удалить с помощью панели управления (раздел «Домены и поддомены»), для чего необходио кликнуть на зеленую иконку напротив домена, далее в открывшемся окне в поле «ААА-запись» удалить содержимое и нажать на кнопку «Сохранить».

Удалил. Яндекс Касса заработала.

Версию PHP не менял. Оставил 5.6.

 

Скажите, а что именно было в этой записи?

 

Помогло удаление AAAA-записи в настройках домена.

 

Пользователь 73078

Постоянный посетитель

Сообщений: 211
Баллов: 35
Регистрация: 08.10.2010

#10

0

09.08.2016 10:31:39

Цитата
Помогло удаление AAAA-записи в настройках домена.

А что было в этой записи?

«1С-Битрикс: Управление сайтом» — одна из самых популярных коммерческих CMS. Как и в случае с любой другой CMS, при работе с Битриксом возникают разные ошибки, мешающие нормальной работе сайта. Выявить их можно с помощью встроенного функционала проверки системы в панели администратора Битрикс.

Чтобы запустить проверку системы, перейдите в панель администратора по ссылке https://example.com/bitrix/admin (замените example.com на ваш домен), введите логин и пароль учетной записи администратора сайта, перейдите в Настройки — ИнструментыПроверка системы и нажмите на кнопку Начать тестирование. Дождитесь окончания проверки. В форме Проверка системы могут быть ошибки, которые, на первый взгляд, не влияют на работу сайта, однако требуют внимания владельца или системного администратора сайта.

В данной статье рассмотрим способы устранения популярных ошибок, возникающих в CMS Битрикс.  

  1. Ошибка «The script encountered an error and will be aborted. To view extended error messages, enable this feature in .settings.php.» при переходе на сайт
  2. «Замечание. Агенты выполняются на хитах, рекомендуется перевести выполнение агентов на cron» при проверке системы 
  3. Ошибка работы с сокетами при проверке системы
  4. Ошибка! Не работает «Отправка почты» и «Отправка почтового сообщения больше 64Кб» при проверке системы
  5. «Служебные скрипты в корне сайта. Ошибка! Файл существует» при проверке системы
  6. Ошибка «Загрузка файла» и «Загрузка файла больше 4Мб» при проверке системы

Ошибка «The script encountered an error and will be aborted. To view extended error messages, enable this feature in .settings.php.» при переходе на сайт

Такая ошибка в большинстве случаев означает некорректное подключение к базе данных. В первую очередь проверьте, работает ли СУБД, введя следующую команду в терминал:

# systemctl status mysql

Если СУБД работает, проверьте файлы, расположенные в /home/bitrix/www/bitrix/.settings.php и /home/bitrix/www/bitrix/php_interface/dbconn.php (при необходимости замените /home/bitrix/www на корневую директорию вашего проекта, далее в статье будут использованы относительные пути вида /bitrix/php_interface/dbconn.php). В этих файлах указываются доступы для подключения к базе данных сайта.

Для файла .settings.php

'host' => 'localhost',
'database' => 'database_name',
'login' => 'user_name',
'password' => 'secret_password',

Для файла dbconn.php

$DBHost = "localhost";
$DBLogin = 'user_name';
$DBPassword = 'secret_password’;
$DBName = "database_name";

Проверьте корректность указанных данных:

  • хост базы данных (должен быть localhost, если СУБД установлена локально),
  • название базы данных (замените в обоих файлах database_name на название своей базы данных),
  • имя пользователя базы данных (замените user_name на имя своего пользователя базы данных)
  • и пароль пользователя базы данных (замените secret_password на пароль пользователя вашей базы данных).

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

«Замечание. Агенты выполняются на хитах, рекомендуется перевести выполнение агентов на cron» при проверке системы 

При проверке системы Битрикс часто возникает замечание выполнения агентов на cron. Данное замечание не мешает работе сайта, однако может повлиять на выполнение разных функций вашего проекта, например, на отправку почты.

Как правило, для настройки выполнения агентов на cron достаточно следовать рекомендациям проверки системы. Для этого нажмите на вопросительный знак справа от уведомления:

Однако такой способ срабатывает не всегда. Если в файле /bitrix/php_interface/dbconn.php есть строка define('BX_CRONTAB_SUPPORT', true); и в cron есть задание на ежеминутный запуск скрипта /var/www/bitrix/modules/main/tools/cron_events.php, попробуйте следующее решение.

Отключим выполнение агентов на хитах, для этого в панели администратора Битрикс переходим в Настройки — Инструменты — Командная PHP-строка, вводим следующую команду и нажимаем Выполнить:

COption::SetOptionString("main", "agents_use_crontab", "N"); 
echo COption::GetOptionString("main", "agents_use_crontab", "N"); 
COption::SetOptionString("main", "check_agents", "N"); 
echo COption::GetOptionString("main", "check_agents", "Y");

Результат выполнения PHP-команды должен быть «NN».

Далее в файле /bitrix/php_interface/dbconn.php закомментируем следующие строки (добавьте перед строками знак #):

define("BX_CRONTAB_SUPPORT", true);
define("BX_CRONTAB", true);

После чего в этот же файл dbconn.php добавьте строки:

if(!(defined("CHK_EVENT") && CHK_EVENT===true))
define("BX_CRONTAB_SUPPORT", true);

Далее необходимо из учетной записи владельца сайта (если вы работаете в консоли сервера из-под учетной записи root, что не рекомендуется, после создания файла измените владельца файла с помощью команды chown) создать новый файл cron_events.php в директории /bitrix/php_interface/ и добавить в него следующий код:

<?php
$_SERVER["DOCUMENT_ROOT"] = realpath(dirname(__FILE__)."/../..");
$DOCUMENT_ROOT = $_SERVER["DOCUMENT_ROOT"];
define("NO_KEEP_STATISTIC", true);
define("NOT_CHECK_PERMISSIONS",true);
define('BX_NO_ACCELERATOR_RESET', true);
define('CHK_EVENT', true);
define('BX_WITH_ON_AFTER_EPILOG', true);
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
@set_time_limit(0);
@ignore_user_abort(true);
CAgent::CheckAgents();
define("BX_CRONTAB_SUPPORT", true);
define("BX_CRONTAB", true);
CEvent::CheckEvents();
if(CModule::IncludeModule('sender'))
{
    BitrixSenderMailingManager::checkPeriod(false);
    BitrixSenderMailingManager::checkSend();
}
require($_SERVER['DOCUMENT_ROOT']."/bitrix/modules/main/tools/backup.php");
CMain::FinalActions();
?>

После того, как файл создан с нужными правами, добавляем его в cron. Обязательно делаем это для владельца сайта, так как задания cron для пользователя root могут стать серьезной угрозой безопасности для сайта и сервера. Выполним следующую команду (в нашем случае владелец сайта — bitrix, замените это значение на имя пользователя своего сайта при необходимости):

# crontab -ubitrix -e

Откроется файл с заданиями crontab пользователя сайта. Вставьте следующую строку:

*/1 * * * * /usr/bin/php -f /home/bitrix/www/bitrix/php_interface/cron_events.php

В данной строке значение */1 * * * * означает выполнение скрипта раз в минуту, вы можете скорректировать частоту выполнения в зависимости от ваших требований к проекту.

Путь /usr/bin/php — путь для PHP, оставьте его таким же, если у вас на сервере нет альтернативных версий PHP. Если вы используете панель ISPmanager, возможно, ваш сайт работает на альтернативной версии PHP. Проверить версию можно в панели ISPmanager, а узнать корректный путь для PHP — с помощью команды whereis php в консоли сервера. Например, для альтернативной версии PHP 8.1 путь может быть таким: /opt/php81/bin/php. Замените путь к скрипту /home/bitrix/www/bitrix/php_interface/cron_events.php на свой в случае необходимости.

Если в cron есть запись для выполнения скрипта /var/www/bitrix/modules/main/tools/cron_events.php — ее лучше закомментировать.

Ошибка работы с сокетами при проверке системы

При проверке системы в панели администратора Битрикс может возникнуть ошибка «Работа с сокетами. Ошибка! Не работает».

Также из-за ошибки работы с сокетами другие тесты проводятся некорректно, выдавая ошибку «Замечание. Не удалось проверить из-за ошибки в работе с сокетами».

В большинстве случаев такая ошибка появляется после переноса проекта на новый сервер или при развертывании проекта на локальном компьютере для тестирования. Возникает данная ошибка из-за того, что IP-адрес сервера отличается от IP-адреса, указанного в А-записях домена на серверах DNS. Если вы переносите проект на новый сервер, необходимо указать IP-адрес нового сервера в А-записях и дождаться глобального обновления DNS.

Если А-записи указаны корректно, возможно в файле /etc/hosts на сервере указан неверный IP для вашего домена. Проверьте файл и укажите правильное значение:

1.2.3.4 example.com

Замените 1.2.3.4 на IP адрес вашего сервера, а example.com на доменное имя вашего сайта.

Бывает, что на сервере может возникнуть проблема с корневыми сертификатами. Можно попробовать обновить их. В CentOS 7 ведите в консоли сервера:

# yum install ca-certificates -y
# update-ca-trust

Ошибка! Не работает «Отправка почты» и «Отправка почтового сообщения больше 64Кб» при проверке системы

Из описания ошибки понятно, что она означает. В большинстве случаев для устранения данной ошибки требуется вмешательство системного администратора или технической поддержки Битрикс. Проблем, из-за которых почта не работает, много. Они могут быть на стороне сервера, в настройках проекта, либо из-за некорректно работающих модулей отправки почты.

Битрикс использует стандартную функцию php mail() для отправки почты, однако нередко используются другие способы, например, через внешний почтовый сервер. Для проверки работы php mail() можно воспользоваться инструкцией из ответов на часто задаваемые вопросы на форуме Битрикс. 

Также можно выполнить проверку с помощью следующего кода PHP (вставьте его в командную строку PHP в панели администратора Битрикс):

$mail="test@testmail.ru"; // укажите ваш почтовый ящик, на который нужно отправить тестовое письмо
$subject ="test" ; // укажите любую тему письма
$text= "test message"; // укажите любой текст письма
if( mail($mail, $subject, $text) )
{
echo 'Письмо отправлено!'; }
else{
echo 'Ошибка! Не отправлено';
}

Если письмо не пришло, но вы получили уведомление «Письмо отправлено», значит, письма уходят и проблема в настройках CMS либо в модуле отправки почты. В данном случае можно обратиться в техподдержку Битрикс для выявления проблем в настройках CMS или к разработчику модуля отправки почты.

Не исключено, что письмо просто попало в спам. Можно попробовать отправить на другой почтовый ящик (с другим почтовым доменом). Если письмо пришло — значит, адрес отправителя в черном списке почтового домена, до которого письмо не дошло. Если письмо не дошло — возможно, ваш почтовый домен или IP-адрес попали в глобальные черные списки.

Если письмо не пришло, а вы получили уведомление «Отправка не удалась» — необходимо более детальное изучение проблемы. В таком случае потребуется вмешательство системного администратора.

«Служебные скрипты в корне сайта. Ошибка! Файл существует» при проверке системы

Такая ошибка говорит о наличии в корне сайта служебных скриптов, например, restore.php. Данные скрипты, как правило, добавляют временно для проведения каких-либо работ (например, restore.php — для восстановления сайта из резервной копии). Так или иначе, после выполнения работ такие скрипты необходимо удалить с сервера, так как они представляют угрозу безопасности сайту и данным.

Проверка системы Битрикс загружает файл размером более 4Мб. В большинстве случаев такая ошибка говорит об ограничениях в параметре upload_max_filesize для PHP.

Необходимо в файле конфигурации PHP установить данное значение выше 4Мб и перезапустить веб-сервер. В зависимости от окружения файл конфигурации PHP может находится в разных местах. Обычно данное значение устанавливается в файле /etc/php.ini.

Если вы используете панель ISPmanager — поправить конфигурацию можно прямо в ней: выберите нужный сайт, нажмите на кнопку PHP в верхней панели, найдите параметр upload_max_filesize и укажите нужное значение. Если вы используете окружение BitrixVM, необходимо вносить изменения в специальные файлы конфигурации, чтобы после перезагрузки сервера они не вернулись в исходное состояние. Подробнее можете узнать по ссылке.

На чтение 6 мин Просмотров 1.3к. Опубликовано 07.05.2019

Содержание

  1. Обновление файла php.ini
  2. Редактирование файла .htaccess
  3. Изменение файла wp-config.php
  4. Изменение лимитов в WHM
  5. Заключение
  6. Не выгружаются цены
  7. Не выгружаются разделы
  8. Не выгружаются фото
  9. Задваиваются свойства
  10. 502 или белый экран
  11. Символьные коды не создаются
  12. Много ошибок 404 после обмена с сайтом
  13. Подразделы перемещаются в корень сайта из родительских разделов

По умолчанию WordPress устанавливает небольшой лимит на размер загружаемых изображений, видеороликов и других файлов. Аналогичная ситуация с PHP memory limit , который сказывается на возможности запускать плагины и скрипты.

Если вы запускаете сайт с большим количеством контента, эти лимиты могут стать проблемой. Можно получить ошибку при загрузке:

Если достигнут предел выделяемой памяти, то выведется другое сообщение об ошибке:

Рассмотрим наиболее эффективные способы увеличения этих лимитов на сервере. Начнем с memory limit php ini .

Обновление файла php.ini

Если вы используете CPanel , перейдите в раздел « Файлы » и нажмите кнопку « Диспетчер файлов ». Убедитесь, что установлен флажок « Показать скрытые файлы », а затем нажмите на кнопку « Перейти ».

Выберите папку wp-admin и найдите файл php.ini или php5.ini . Если такого файла нет, создайте его, нажав на кнопку « Создать файл », расположенную в верхнем левом углу. Назовите файл php.ini и нажмите во всплывающем окне кнопку « Создать файл »:


Если ошибка не исчезла, попробуйте переименовать файл в php5.ini . Когда файл будет открыт, добавьте в него приведенные ниже строки, а затем сохраните изменения и закройте файл:

M — означает мегабайты. Измените лимиты 1000M, 2000M и 3000M на значения, которые необходимы. Изменение значения max_execution_time ограничит время загрузки скрипта.

Во многих случаях используемые значения должны увеличиваться по мере перехода в списке от первой до третьей строки. Upload_max_filesize должен быть самым маленьким, memory limit php ini — самым большим. При этом post_max_size должен иметь среднее значение.

Прежде чем проверить, не исчезла ли ошибка, очистите кэш браузера.

Редактирование файла .htaccess

Если редактирование php.ini не помогло, попробуйте изменить файл .htaccess . Добавьте приведенный ниже код в конец файла:

Измените значения php ini set memory limit так, как вам нужно. Не забудьте сохранить файл и очистить кэш браузера.

Изменение файла wp-config.php

Если оба способа не дали результата, попробуйте отредактировать файл wp-config.php , добавив следующий код в самый низ, перед строкой « happy blogging «:

Сохраните файл и очистите кэш браузера.

Изменение лимитов в WHM

Если сайт размещен на VPS или выделенном сервере, можно попробовать изменить лимиты в WHM .

После того, как вы вошли в систему, перейдите в раздел Конфигурация сервера> Настройки > PHP .


Введите нужные вам значения и нажмите кнопку « Сохранить ».

Затем перейдите в раздел Конфигурация служб> Редактор конфигурации PHP . Прокрутите страницу вниз до разделов memory_limit и upload_max_filesize :


Введите необходимые значения. В разделе « Параметры и информация » найдите memory_limit и задайте то же значение, которое вы установили в memory limit php ini и .htaccess .

Нажмите кнопку « Сохранить » и очистите кэш браузера.

Заключение

Мы рассмотрели все способы решения данной проблемы. Наслаждайтесь возможностью загружать большие файлы и продолжайте использовать на своем сайте плагины WordPress . Внесенные в php memory limit htaccess изменения должны вступить в силу через несколько минут, после чего можно будет приступить к работе с новыми параметрами.

Если нужно загрузить большие файлы только один раз, попробуйте сделать это через FTP . Обычно файлы, загруженные через FTP в каталог /wp-content/uploads/ , не отображаются в библиотеке медиа. Но с помощью плагина Media from FTP можно отобразить их всего в несколько кликов.

Если ни один из вариантов не дал результата, свяжитесь со своим хостинг-провайдером.

Данная публикация представляет собой перевод статьи « How to Increase the Maximum Upload and PHP Memory Limit » , подготовленной дружной командой проекта Интернет-технологии.ру

Столкнулся с такой проблемой, мой проект не хочет грузить файлы больше 2х мб, при валидации формы выходит ошибка «File ‘img’ exceeds the defined ini size». Поиски в интернете привели всего к одному решению, добавить строку

addValidator(‘Size’, false, 5000000)

к полю загрузки файла, но это не решило проблему.

В этой статье мы собрали основные проблемы обмена с 1с и простые чек-листы по их решению
Статья будет полезна как программистам 1С, так и Битрикс разработчикам.

Текст структурирован по принципу: проблема — варианты решения. Если есть конкретная задача, то сразу переходите по внутренней ссылке.

Перед тем, как перейти к описаниям сначала проверьте сайт тестами битрикс (проверка системы и проверка прав доступа). Примерно половина проблем после этого исчезают.

Не выгружаются цены

  • Проверяем на стороне 1с, что
  • Разрешены типовые соглашения с контрагентами
  • Создано типовое соглашение с контрагентами, доступное внешним пользователям
  • В нем выбран тип цены

  • В товаре есть цена с этим типом цены
  • В «отборе и сортировке» в товаре указано это соглашение в поле «цены»

  • Если у вас Битрикс Малый бизнес, то тип цен обязательно должен быть один

Не выгружаются разделы

То есть товары попадают на сайт без разделов

Варианты причин и решений

  • В разделах могут быть обязательные поля, которые из 1с не могут приходить (например, фото). Тогда при обмене не создастся раздел из-за ошибки
  • В Битрикс Малый бизнес может в выгрузке быть настроено больше одного типа цен. В этом случае выгрузка не будет проходить из-за того, что сначала выгружаются цены, а потом структура разделов и если на выгрузке цен выгрузка вернет ошибку, то и разделы не загрузятся.

Не выгружаются фото

Задваиваются свойства

Одно и то же свойство приходит 2 и больше раз.
Причина в том, что в 1с свойства прикрепляются к видам номенклатуры и если их несколько, то и свойств создается несколько для одного И того же.

Как решать

В 1с нужно создавать свойство через копирование предыдущего и при этом обязательно указывать, что «прикрепить именно это свойство к новому виду номенклатуры»

502 или белый экран

Сайт падает с ошибкой 502 или с ошибкой превышения объема выделенной памяти.

В настройках обмена с 1С на стороне сайта время одного шага обмена поставить от 1 до 5 секунд
Если не помогло, то провести обмен без картинок.

Обмен может не проходить из-за того, что сайт не может нарезать превью из очень большой картинки.

Символьные коды не создаются

Скорее всего на сервере не настроен mbstring. Проверьте сайт внутренним тестом битрикс.

Много ошибок 404 после обмена с сайтом

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

Из-за этого при изменении названия, меняется и адрес, что очень плохо для SEO

Подразделы перемещаются в корень сайта из родительских разделов

Скорее всего это происходит при обмене в режиме «только изменения» при установленной галочке «Не импортировать верхний уровень группы товаров, если он единственный»

Список дополняется по мере выявления новых проблемных мест.

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

Код PHP:

<?php
session_start(); 
$heading = 'Название компании';
$field = 'Текстовое поле(файл)';

// $blacklist = [['Устав', true], ['Расчетный счет', false], ['Паспорт ответственного', true], ['ИНН ответственного', false]];
$blacklist = array(
  'file_1' => array('name' => 'Устав', 'uploaded' => true),
  'file_2' => array('name' => 'Расчетный счет', 'uploaded' => false),
  'file_3' => array('name' => 'Паспорт ответственного', 'uploaded' => true),
  'file_4' => array('name' => 'ИНН ответственного', 'uploaded' => false)
);

// echo key($blacklist);

?>

<!DOCTYPE html>
<html>
<head>
  <title>Контактные данные</title>
  <link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
  <?php
  ini_set('display_errors', 1);
  ini_set('display_startup_errors', 1);
  error_reporting(E_ALL);

  if (isset($_SESSION['message']) && $_SESSION['message'])
  {
    printf('<b>%s</b>', $_SESSION['message']);
    unset($_SESSION['message']);
  }
  ?>
  <form method="POST" action="upload.php" id="upload-container" enctype="multipart/form-data">
    <div id="myModal" class="form-zvonok"> 
      <div id="myModal1" class="form-zvonok1">
        <h2> <?php echo $heading; ?> </h2>
        <hr class="hr-up">
        <?php foreach ($blacklist as $key => $file)  {?>
          <?php if ($file['uploaded']): { ?>
            <?php echo '<p>Имя поля: '.$file['name'].'</p>'
            ?>
            <p><?php echo 'Файл загружен!' ?>
            <hr>
          <?php } else: { ?>
          <div>
            <?php echo "Имя поля: ".$file['name']; ?>
            <?php echo '<input type="file" name= ".$key." /><br> Файл не загружен' ?>
          </div>
          <hr>
        <?php } ?>
          <?php endif ?>
          <?php
        } ?>
        <br>
        <input type="checkbox" id="myBtn" required><label>Нажимая кнопку «Отправить», я даю свое согласие на обработку моих персональных данных, в соответствии с Федеральным законом от 27.07.2006 года №152-ФЗ «О персональных данных», на условиях и для целей, определенных в Согласии на обработку персональных данных <span>*</span></label>
        <br>
        <br>

        <input type="submit" id="myBtn" name="uploadBtn" value="Отправить" onclick="SendFile()"/>
        <hr class="hr-down">
      </div>
    </div>
  </form>
</body>
</html>

Обработчик формы:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Результат загрузки</title>
	<link rel="stylesheet" type="text/css" href="upload_style.css">
</head>
<?php
session_start();

$message = ''; 
if (isset($_POST['uploadBtn']) && $_POST['uploadBtn'] == 'Upload')
{
  if (isset($_FILES['file_1']) && $_FILES['file_1']['error'] === UPLOAD_ERR_OK)
  {
    // get details of the uploaded file
    $fileTmpPath = $_FILES['file_1']['tmp_name'];
    $fileName = $_FILES['file_1']['name'];
    $fileSize = $_FILES['file_1']['size'];
    $fileType = $_FILES['file_1']['type'];
    $fileNameCmps = explode(".", $fileName);
    $fileExtension = strtolower(end($fileNameCmps));

    // sanitize file-name
    $newFileName = md5(time() . $fileName) . '.' . $fileExtension;

    // check if file has one of the following extensions
    $allowedfileExtensions = array('jpg', 'gif', 'png', 'zip', 'txt', 'xls', 'doc');

    if (in_array($fileExtension, $allowedfileExtensions))
    {
      // directory in which the uploaded file will be moved
      $uploadFileDir = './uploaded_files/';
      $dest_path = $uploadFileDir . $newFileName;

      if(move_uploaded_file($fileTmpPath, $dest_path)) 
      {
        $message ='Файл успешно загружен.';
      }
      else 
      {
      	$message = 'При перемещении файла в каталог загрузки произошла ошибка. Убедитесь, что каталог загрузки доступен для записи веб-сервером.';
      }
    }
    else
    {
      $message = 'Загрузка не удалась. Допустимые типы файлов: ' . implode(',', $allowedfileExtensions);
    }
  }
  else
  {
  	$message = 'При загрузке файла произошла ошибка. Пожалуйста, проверьте следующую ошибку.<br>';
  	$message .= 'Error:' . $_FILES['file_1']['error'];
  }
}
$_SESSION['message'] = $message;
header("Location: index.php");
?>
</html>

I am pretty new to Elgg and I am trying to allow users to upload a video. My problem could also just be php related, however.

So I have set up my form with the following code:

echo elgg_view("input/file", array('name' => 'video', 'accept' => 'video/*'));

which sets up a control to allow users to upload files. My action file is filled with a lot of defensive programming to ensure that the file is there. When I try to upload a video, I get the following error which points me to this snippet of code:

// must not be empty if a file is present in the upload
    if( empty($_FILES['video']['name']) ) {
        $error = elgg_echo('No file to upload!');
        register_error( $error );
        forward( REFERER );
    }

I am completely lost at where the problem may lie, I have been trying to achieve this for about 2 days now. I have been referring to a bunch of other plugins which make use of file uploads in Elgg, such as the file plugin and the TidyPics plugin.

All help and tips are appreciated in advance. Thank you.

asked Dec 20, 2012 at 17:44

M1kstur's user avatar

9

According to http://docs.elgg.org/wiki/Forms

Enctype form attribute (defaults to blank). You will need to pass a
value of ‘multipart/form-data’ if you want your form to do a file
upload.

try-

echo elgg_view('input/form', array('enctype' => 'multipart/form-data', ...));

answered Dec 20, 2012 at 19:24

Sean's user avatar

SeanSean

12.4k3 gold badges29 silver badges47 bronze badges

0

Try doing a print_r($_FILES) right before your if statement followed by an exit() to see if that will give you some clues. I would have posted this as a commented, but I don’t have enough rep points yet cuz I’m new to stack overflow.

answered Dec 20, 2012 at 18:24

rnirnber's user avatar

rnirnberrnirnber

6077 silver badges17 bronze badges

5

Помогите пожалуйста, не работает форма загрузки файлов:

<form action="forms.php" method="POST" enctype="multipart/form-data">
            Описание:<br> <textarea rows="15" cols="100" name="g_description"></textarea><br><br>
            <input name="gfile" type="file" accept="image/*">
            <br><br>
            <input type="submit" value="Добавить">
</form>

Так выглядит скрипт, обрабатывающий форму:

$destination = $_SERVER['DOCUMENT_ROOT']. '/uploads/';
$fileTempName = $_FILES['gfile']['tmp_name'];
if (is_uploaded_file($fileTempName)) {
    $newFilename = $destination .$_FILES['gfile']['name'];

    //Перемещаем файл из временной папки в указанную
    if (move_uploaded_file($fileTempName, $newFilename)) {
        echo 'Файл сохранен под именем '. $newFilename;
    } else {
        echo 'Не удалось осуществить сохранение файла';
    }
} else {
    echo 'Файл не был загружен на сервер';
}

задан 7 мая 2018 в 20:32

Иван Студеникин's user avatar

2

Вот пример простейшей реализации

<?php
    if(isset($_POST['go'])){
        $err = array();#Массив с ошибками
        #Проверки
        if(!is_uploaded_file($_FILES["filename"]["tmp_name"])){
            $err[] = "Ошибка загрузки файла";
        }
        if($_FILES["filename"]['error']!= 0){
            $err[] = 

"Ошибка загрузки файла";
        };
        if($_FILES["filename"]['size'] > 10485760){
            $err[] = "Файл слишком большой";
        };

if(count($err) == 0){
    //Если файл загружен успешно, то перемещаем в конечную директорию
    move_uploaded_file($_FILES["filename"]["tmp_name"], $_SERVER['DOCUMENT_ROOT']."/Files/".$_FILES["filename"]["name"]);
} else{
    #Вывод ошибок проверок
    foreach($err AS $error){
        print $error."<br>";
    }
}
}
?>
<input type="hidden" name="MAX_FILE_SIZE" value="30000">
<form method="post" enctype="multipart/form-data">
    <input type="file" name="filename" class="select_file"><br>
    <button name="go" class="login_button">Загрузить</button>
</form>

ответ дан 8 мая 2018 в 18:10

Юрий's user avatar

ЮрийЮрий

5454 серебряных знака15 бронзовых знаков

Понравилась статья? Поделить с друзьями:
  • Задание 8 егэ 2019 практикум грамматические ошибки ответы
  • Задания для работы над ошибками
  • Загрузка прервана яндекс браузер ошибка запрещено
  • Задание 3 перепишите предложение исправив орфографические ошибки воркзилла
  • Задание 678 исправьте ошибки обратно идет дождь