Я считаю, что сомнительно сказать, что вы развиваетесь с использованием новейшего PHP и работаете с очень устаревшей версией. Из этого возникнет множество возможных проблем, а не только из-за исправлений безопасности, которые вам не хватает, но что еще более важно из-за исправлений PHP-ошибок, которые были введены в основном в версиях 5.3.9 и 5.3.23, что изменяет поведение PHP в некоторых подробности довольно принципиально. Не говоря уже о риске случайного использования функций 5.4 или 5.5.
И действительно, нет способа заставить Composer справиться с этой ситуацией. Версия PHP, используемая при запуске composer update
, определяет разрешение зависимостей, на которые влияет PHP-версия и установленные расширения PHP.
Вы не можете определить, что пакет должен использоваться только для версий PHP между 5.3. 3 и 5.3.5, если PHP, который вы используете для обновления, не соответствует этой потребности в версии. Поскольку используемая версия PHP превышает ограничение на верхнюю версию, такой пакет не подходит для выполнения требования к версии, а Composer сообщает, что пакет не найден (не сообщая, что он видел пакеты, но их нужно было игнорировать из-за ограничение версии).
Есть, вероятно, три очевидных выхода:
composer update
, и все готово. composer config -g platform.php 5.3.5
для глобальной настройки (будет влиять на все последующие запуски Composer), без -g
для локальной настройки (будет влиять только на операции Composer в этом проекте, если вы разрабатываете более чем один проект с разными производственными версиями PHP).