PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
awe007
Отправлено: 25 Марта, 2011 - 11:20:52
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




Добрый день. Помогите пожалуйста решить задачку.
Есть сервер на Windows 2003, поднят Apache 2.2 +PHP 5.3.2
опубликован наружу.. Необходимо сделать так, чтобы при заходе на определенный адрес (типа www.server.ru\test.php) на сервере запускался и выполнялся бы нужный мне скрипт (test.exe или test.php)
Я пробовал Код:
CODE (htmlphp):
скопировать код в буфер обмена
  1. <? echo exec("test.cmd"); ?>

и
CODE (htmlphp):
скопировать код в буфер обмена
  1. <?php runAsynchronously("test.exe"); ?>

и



но в итоге файл выполняется в браузере на стороне клиента, а не на сервере.

Как правильно через PHP запустить файл именно на сервере? Т.е. чтобы на сервере всплывало черное окошко командной строки и выполнялись необходимые команды из CMD-файла.

(Отредактировано автором: 25 Марта, 2011 - 11:22:01)

 
 Top
Viper
Отправлено: 25 Марта, 2011 - 11:32:19
Post Id



Активный участник


Покинул форум
Сообщений всего: 4557
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




awe007 ну всплывать оно точно не будет. и что значит фраза
awe007 пишет:
но в итоге файл выполняется в браузере на стороне клиента, а не на сервере.
вообще непонятно.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
AdMeen
Отправлено: 25 Марта, 2011 - 11:55:17
Post Id



Посетитель


Покинул форум
Сообщений всего: 370
Дата рег-ции: Сент. 2009  
Откуда: Воронеж


Помог: 1 раз(а)




awe007 пишет:
но в итоге файл выполняется в браузере на стороне клиента, а не на сервере.


печально это. Вы как определили?
 
 Top
awe007
Отправлено: 25 Марта, 2011 - 12:01:39
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Март 2011  


Помог: 0 раз(а)




в PHP файле была ошибка, стояло echo exec("test.cmd"), вот он и выводил содержимое файла в браузер.
Убрал echo, оставил только exec(), вроде начало кое-что работать на стороне сервера, но не всё. В частности,
php файл у меня такой
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. exec("test.cmd");
  3. echo "script complete!";
  4. ?>

в cmd файле у меня написано
shutdown -r -f -m \\192.168.2.197 -t 05
echo "end">log.txt
захожу на скрипт по ссылке url\stop.php, вижу в браузере надпись script complete, на сервере создается файл log.txt с текстом "END", но комп с айпишником 192.168.2.197 не завершает свою работу.
А если запускаю этот файл test.cmd прям с сервера через проводник, то все ок, комп гасится.
(Добавление)
Разобрался. Просто банально не хватало прав на выполнение операции shutdown Улыбка
Сделал запуск ярлыка от имени администратора и все заработало!

Извините за беспокойство!

(Отредактировано автором: 25 Марта, 2011 - 12:28:18)

 
 Top
Viper
Отправлено: 25 Марта, 2011 - 13:21:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 4557
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




awe007 нет прав на выполнение shutdown у юзера от которого запущен Попаче


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
OrmaJever Модератор
Отправлено: 25 Марта, 2011 - 13:51:21
Post Id



Активный участник


Покинул форум
Сообщений всего: 7541
Дата рег-ции: Янв. 2010  
Откуда: Чернигов


Помог: 299 раз(а)




awe007 а вы пробовали в командной строке ввести команду test.cmd? Однако
Может start test.cmd ?


-----
Если вы хотя бы 3-4 раза не решите всё выкинуть и начать заново - вы явно что-то делаете не так.
 
 Top
JustUserR
Отправлено: 25 Марта, 2011 - 21:07:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




awe007 пишет:
Разобрался. Просто банально не хватало прав на выполнение операции shutdown
Сделал запуск ярлыка от имени администратора и все заработало!
В качестве возможного варианта для осуществления решения предполагаемой задачи, заключающеся в проведении инициации внешнего разделенного исполняемого процесса, с обеспечением установки дифферентных параметров среды окружения и системых привелегий, а также модификации характеристки по осуществлению связи с группой ассоцированных родительских процессов, допустимо использование включаемых специаизированных фунциональных объектов для обеспечения взаимодействия с интерфейом Windows API
Возможность запуска внешнего BAT-файла и его правильная работоспособность может зависеть от различных параметров - среди них учитывается имя пользователь от имени которого запускается процесс и форма его инициализации - а также значение всего окружения которое включается в себя набор системных и пользовательских переменных и некоторые файловые пути
Если с точки зрения web-сервера запуск PHP-скрипта происходит идентично и работабщй по действенному перенаправлению CGI-скрипт интерпретатора имеет в точности такое же окружение - для его приведения к значению по умолчанию для консольного интерпретатора можно использоват опцию /I
Кроме того в системах windows и особенно в их серверных версиях имеется достаточно строгая система контроля доступа к ресурсам - в частности если пользователь от имени которого запускается процесс в явном имеет достаточные привелегии для осуществления некоторых действий - то при автоматическом запуске в качестве дочернего процесса он может и не иметь достаточных прав Некоторую информацию о программном переназначении текущего пользователя у процесса в windows - вы можете посмотреть здесь http://forum[dot]shelek[dot]ru/index.php[dot][dot][dot]topic,164[dot]0[dot]html и здесь http://forum.php.su/topic.php?fo...1&topic=4732


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
kyler
Отправлено: 10 Июня, 2011 - 20:15:22
Post Id



Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Авг. 2010  


Помог: 0 раз(а)




У меня есть файл copy.cmd с такой командой:

CODE (htmlphp):
скопировать код в буфер обмена
  1. copy "C:\WebServer\Apache\htdocs\kyler66\upload\files\DB.FDB" "\\192.168.10.6\c$\wmpub\public\Upload\"


Дак вот, почему то он не хочет выполняться когда пишу в PHP скрипте - exec('copy.cmd')
Если, допустим, в этот файл записать что нибудь типа:

CODE (htmlphp):
скопировать код в буфер обмена
  1. shutdown.exe -s -f -t 100 -c "test test"


то все прекрасно работает, появляется окошко с сообщением и комп вырубается через 100 секунд. Почему тогда копирование не работает?
 
 Top
Данил_123
Отправлено: 21 Августа, 2011 - 13:29:49
Post Id


Участник


Покинул форум
Сообщений всего: 1027
Дата рег-ции: Июнь 2011  
Откуда: rostov


Помог: 9 раз(а)




exec
CMD-файла.
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. exec("1.sh");
  3. echo "complete";
  4. else
  5. echo "uncomplete";
  6. ?>


Я линуксойд.

(Отредактировано автором: 21 Августа, 2011 - 13:30:34)



-----
http://mysitecost.ru
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Операционная система и системные вызовы »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB