когда я запускаю эту команду (как root) из командной строки linux:
cat /sys/devices/virtual/dmi/id/product_uuid
Я получаю UUID машины просто отлично. Но когда я делаю это в php:
echo `cat /sys/devices/virtual/dmi/id/product_uuid`;
Я не получаю вывод. В PHP показывает, что я www-data
чего я и ожидал
Очевидный вопрос: почему нет выхода? и если это проблема с разрешениями, будет ли способ поместить эту команду в сценарий оболочки и вызвать ее через PHP таким образом? Благодарю.
ОБНОВИТЬ: Я считаю, что это была проблема с разрешением. при изменении прав доступа к файлу product_uuid с r— — — для root: root на r— — r—, я могу прочитать файл через PHP, но гораздо лучше вызвать скрипт оболочки как www-данные, которые могут получить содержимое файла.
Вы должны использовать exec
функция в php
echo exec('cat /sys/devices/virtual/dmi/id/product_uuid');
пожалуйста, используйте shell_exec()
функция, чтобы получить выход
echo shell_exec('/sys/devices/virtual/dmi/id/product_uuid');
это будет отображать вывод в виде строки