Возможно ли перезагрузить компьютер с использованием php?перезагрузка ПК с использованием php
ответ
Это правда, что вы можете использовать exec()
или system()
, но разрешение будет проблемой, поскольку PHP запускается на пользователе, который запускает apache
.
В качестве быстрого обходного пути пользователю apache может быть разрешено перезапустить. В зависимости от вашей системы установка этого параметра может быть довольно сложной.
Другой способ, который вы можете сделать, - это выполнить задачу Cron (принадлежащую корню), проверяя каждый файл каждую минуту (или секунды) и отредактировать этот файл с помощью вашей программы PHP. Файл должен быть доступен для редактирования только с помощью Apache. Это намного проще сделать.
Надеюсь, это поможет.
Вы можете использовать exec()
или system()
-like метод для запуска системной команды для перезагрузки компьютера.
Обычно вам необходимо прав суперпользователя, чтобы перезагрузить компьютер. Но плохой практикой является запуск веб-сервера в качестве суперпользователя. Я бы рекомендовал сделать некоторые межпроцессные коммуникации. E. g. PHP-скрипт записывает секретный ключ в файл, а затем задание cron считывает файл и перезагружает компьютер.
И я не уверен, что это хорошая идея перезагрузить компьютер через Интернет. Зачем вам это делать?
Некоторые средства администрирования сервера, такие как Plesk, позволяют это делать. – zneak
Этот ответ относится к серверу на базе Linux.
DANGEROUS: Из системы php use() в системе используйте «sudo shutdown -r now» для перезапуска и «sudo shutdown -h now» для выключения.
В/и т.д./sudoers, добавьте разрешения на запуск завершения работы для пользователя апача
Одной из проблем является то, что Sudo может запрашивать пароль.
Либо удалить пароль пользователя apache (но затем не запускать sshd, telnetd, ftpd и т. Д.) Или посмотреть, имеет ли ваша/etc/sudoers конфигурация без пароля. «man sudoers» о строке 200 и снова о строке 270 говорит, что Tag_Spec может включать NOPASSWD, чтобы указать, что пользователю не нужно повторно аутентифицировать свой пароль для запуска команды sudo.
SAFER: token/cron Попросите PHP написать файл где-нибудь. Напишите сценарий, выполняемый cron как root, чтобы, если этот файл существует, файл удаляется, а затем завершается или перезапускается.
В нашей системе мы делаем то, что сказал Пол.
- Имейте сценарий, который будет записываться в какой-либо командный каталог (например:/data/command /). Вы должны затвердеть этот сценарий.
- Имейте cron, который запускается в минуту, который проверяет вашу команду. Если он имеет команду перезапуска, то cron запустит команду перезапуска в систему.
У меня была такая же потребность в настройке CarPC, что и Debian/Lenny. Я сконфигурировал inetd для запуска/sbin/reboot всякий раз, когда было установлено соединение с портом для этой службы.
У меня тогда был скрипт PHP, который выполняет fsockopen() на localhost/port, и он немедленно выполняет перезагрузку.
Быстрая установка (Debian - изменить для вашей системы):
В /etc/services
добавить строку "reboot 88/tcp"
(или любой другой порт вы хотите) В /etc/inetd.conf
добавить строку "reboot stream tcp nowait root /sbin/reboot"
Restart inetd using /etc/init.d/openbsd-inetd restart
Теперь подключения к локальной машине: 88, и он перезагрузит систему.
Если ваша система запускает xinetd, вы можете настроить ее, чтобы принимать только соединения с localhost, чтобы немного закрепить защиту. В любом случае, это все еще хак.
- 1. Аутентификация ПК с использованием PHP
- 2. Перезагрузка Linux с ПК с помощью C#?
- 3. Перезагрузка PHP FORM с использованием AJAX
- 4. Связь ПК с ПК с использованием USB
- 5. Перезагрузка ПК автоматически Выполнить этот шаг
- 6. Перезагрузка comboBox с использованием resetText()
- 7. Принудительная перезагрузка страницы с использованием Framework7
- 8. Перезагрузка содержимого с помощью php
- 9. Извлечение уникального идентификатора с ПК с использованием PHP без PECL?
- 10. 8086 программирование с использованием TASM: связь с ПК на ПК
- 11. Проблемы с использованием виртуальных ПК с виртуальными ПК
- 12. UUID и DNS-сервер клиентского ПК с использованием php
- 13. Возможно ли копирование PHP() с использованием двух клиентских ПК?
- 14. PHP перезагрузка не работает?
- 15. Перезагрузка результатов PHP-формы
- 16. Горячая перезагрузка PHP-скрипта?
- 17. Перезагрузка Ajax iFrame с использованием jquery
- 18. Перезагрузка класса с использованием пользовательского загрузчика классов
- 19. Перезагрузка datomic соединения с использованием java
- 20. Перезагрузка данных HighCharts с использованием Ajax
- 21. Перезагрузка веб-страницы с использованием C#
- 22. Перезагрузка частичного просмотра с использованием JQuery
- 23. Горячая перезагрузка с использованием пружины не работает
- 24. Перезагрузка после деинсталляции с использованием WiX
- 25. PHP-сервер на ПК
- 26. Перезагрузка страницы с параметрами
- 27. PHP - Перезагрузка URL с переменной GET
- 28. Перезагрузка PHP включает без innerHTML
- 29. Перезагрузка форм с Ajax
- 30. Управление Philips Living Colors с использованием ПК
I _hope_, что вы имеете в виду сервер, а не машину браузера. – SLaks