Компромисс между использованием вызова из командной строки и использованием библиотеки - это скорость вашего приложения и скорость компьютера, на котором работает ваше приложение.
Каждый раз, когда вы делаете такой вызов из командной строки, PHP должен форкнуть процесс (два на самом деле - оболочку, а затем команду, которую вы хотите запустить). Это означает, что ваш компьютер должен запустить другое приложение. Это дорогие вещи, которые съедают много системных ресурсов. Подумайте, что произойдет, если вы (или ваш процесс запуска) попытаетесь запустить слишком много программ одновременно на вашем компьютере.
Когда вы используете библиотеку, никакие процессы не должны быть разветвлены. PHP сам выполняет работу, которую выполняют другие приложения.
Тем не менее, я знал много производственных веб-приложений, которым не удавалось совершать вызовы приложений командной строки, которые недоступны через библиотеки PHP. Если это часть приложения с низким трафиком или страница, на которую не попадают так часто, вы МОЖЕТЕ сойти с рук, но вы приобретаете себе боль, когда наступает время масштабирования.
Есть также вопрос безопасности, который нужно учитывать. Когда вы запускаете команду из PHP подобным образом, если вы используете переменные для построения командной строки, вы рискуете что-то вроде
;rm -rf /
Внедрение в вашу команду, что было бы плохо (rm -rf / удалит всю вашу файловую систему). Да, вы можете избежать входных переменных, чтобы справиться с этим, но спросите любого ветерана PHP-разработчика, как работают ручные SQL-запросы.
Итак, короче говоря, вы, вероятно, можете сойти с рук, но это не лучшая практика, и в будущем вы приобретете себе кучу боли, когда s --- дойдет до вентилятора.