Intereting Posts
PHP-код внутри XML? Передача двух разных форм с внешней кнопкой отправки не работает должным образом Выполнить mysql «создать функцию» с помощью PHP PHP – Работа с файлами cookie Добавить Javascript в WordPress – functions.php с wp_enqueue_script () Как установить разрешение 777 для определенной папки? Вкладки Drupal $, не включая редактирование / ревизии / рабочий процесс Можно ли проинструктировать PHP о настройке постфикса в php.ini? Как преобразовать единый массив в многомерный массив в PHP? Не удалось обновить изображение в MySql DB с помощью подготовленного PHP-отчета? Вызов статического метода из класса B (который расширяет класс A) класса A PDO с Singleton не может получить доступ к частной собственности Opencart: Как связать параметры продукта (например, размер и цвет)? Выражение PHP Preg для удаления html-тегов и внутреннего содержимого из строки? Как измерить время mysql, время и / или нагрузку SQL-запроса в php?

Ошибка дескриптора файловой системы PHP

Недавно мы обновили наши серверы с PHP 5.4.15 до 5.5.1 и начали получать эту ошибку в журналах

Неустранимая ошибка Не удалось создать файл блокировки: Плохой дескриптор файла

Я отследил его до этого бита кода, который открывает еще один небольшой скрипт PHP, который загружает файл на S3 в фоновом режиме.

// Grab uploaded file and assign a working name $fileTemp = $_FILES['file']['tmp_name']; $pathToWorkingFile = tempnam($g_TmpDirectory, "TR-"); // Move the file to our working area if (move_uploaded_file($fileTemp, $pathToWorkingFile) === false) throw new Exception("Cannot move file to staging area.", 1011); // Where the file will end up on S3 $s3Bucket = "test.bucket.com"; $uploadDest = "/uploads/image123.jpg"; // Create process to upload file in background popen("/usr/local/bin/php /path/to/uploadScript.php $pathToWorkingFile $s3Bucket $uploadDest &", 'r'); 

Оказывается, эта ошибка была вызвана нашей конфигурацией OPcache, которая была включена во время процесса обновления PHP. Когда я отключу его для операций с командной строкой, удалив этот параметр из php.ini, все работает отлично.

 opcache.enable_cli=1