как работать с консолью?

Статус
В этой теме нельзя размещать новые ответы.

maneak

Профессор
Заблокирован
Регистрация
29 Авг 2007
Сообщения
279
Реакции
43
  • Автор темы
  • Заблокирован
  • #1
Пришол к выводу что в моих целях удобнее пускать скрипты с консоли, а не через браузер. Но тутже столкнулся с некоторыми нюансами:
Как запустить из под никсов понятно, но с консоли в винде както муторно..

Возможно ли запускать батником?

Пробовал запускать экзешник php, но понимаю почему так нельзя:
W:\usr\local\php5\php.exe W:\home\scrypt\www\scrypt.php
Но уверен что както можно :ah:

Использую курл:
PHP:
$ch = curl_init();
	curl_setopt($ch,CURLOPT_TIMEOUT,240);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
	curl_setopt($ch, CURLOPT_COOKIEJAR,$path.'/data/cookies.txt');
	curl_setopt($ch, CURLOPT_COOKIEFILE,$path.'/data/cookies.txt');
	curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1)");
	curl_setopt($ch, CURLOPT_URL, 'http://урл');
$morda1=curl_exec($ch);

в консоль отдается:

< HTTP/1.1 200 OK
< Server: nginx
< Date: Mon, 06 Apr 2009 20:09:53 GMT
< Content-Type: text/html; charset=windows-1251
< Transfer-Encoding: chunked
< Connection: keep-alive
< Vary: Accept-Encoding
< Cache-Control: no-cache,no-store,max-age=0,must-revalidate
< Pragma: no-cache
< Expires: Mon, 06 Apr 2009 20:09:53 GMT
* Connection #0 to host урл left intact
* Closing connection #0

Вот както можно невыводить это?
 
Пришол к выводу что в моих целях удобнее пускать скрипты с консоли, а не через браузер. Но тутже столкнулся с некоторыми нюансами:
Как запустить из под никсов понятно, но с консоли в винде както муторно..

Возможно ли запускать батником?

Пробовал запускать экзешник php, но понимаю почему так нельзя:
W:\usr\local\php5\php.exe W:\home\scrypt\www\scrypt.php
Но уверен что както можно :ah:

Использую курл:
PHP:
$ch = curl_init();
	curl_setopt($ch,CURLOPT_TIMEOUT,240);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
	curl_setopt($ch, CURLOPT_COOKIEJAR,$path.'/data/cookies.txt');
	curl_setopt($ch, CURLOPT_COOKIEFILE,$path.'/data/cookies.txt');
	curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1)");
	curl_setopt($ch, CURLOPT_URL, 'http://урл');
$morda1=curl_exec($ch);

в консоль отдается:



Вот както можно невыводить это?


А с чего вы взяли что так
W:\usr\local\php5\php.exe W:\home\scrypt\www\scrypt.php
нельзя?
Лично я под виндой попку с php.exe прописываю в пути винды
На "мой компьютер" правую кнопку
свойства
дополнительно
переменные среды
и там в path добавить C:\Program Files\php ну или где у вас там лежит php.exe

и потом можно запускать скрипт так
php имяскрипта.php

а то, что вы показали - то, что возвращяет скрипт - так это HTTP хидеры, их можно отключить добавив свойство в curl ( сейчас непомню какое, посмотрите мануал по curl - там это точно есть )
и тогда хидеры не будут отображаться, а будет только контент страницы.
 
curl_setopt($ch[$i],CURLOPT_RETURNTRANSFER,1);
вот эта опция отключает вывод CURL-а
по поводу же PHP в консоли, советую почитать раздел офмцмальной справки, под названием CLI(Comand Line Interface)
лично я довольно часто использую PHP из командной строки, так как этот язык мне наиболее знаком и удобен в повседневном использовании.
на нем пишется все что мне надо, начиная от работы с файлами по специфичным правилам
например для torrent-ов я написал скрипт, который заменяет файлы в каталоге жесткими ссылками на файлы из другого каталога, аналогичных размеров.
с его помощью, я довольно легко находил файлы уже имеющиеся у меня, соответствующим цже выложенным на трекере.
или, вот сейчас у меня в процесах висит простенький демон, который проверяет постоянно прокси, и заносит в файл, удачные.
в общем,удобно, если знаеш этот язык лучше других
 
Единственное что так то что под виндой для консольной версии php может быть другой конфиг php и там может не быть курла .. надо проверить.

запустить в консоли php с ключем -i и посмотрите откуда он читает конфиг
 
вот минимальная конфигурация PHP для работы с консолью:
1)php.exe(или php-win.exe, но он ничего не выводит в консоль.идеален для демонов).обязателен
2)php5ts.dll .обязателен.ложим в ту же директорию, что и сам exe-шник
3)php.ini .опционален.ложим в ту же директорию, что и сам exe-шник
4)для использования сторонних либ(curl-a в частности), мне пришлось подключить libeay32.dll .фиг его для чего он нужен, но без него curl не запахал
5)все остальное что вам нужно(php_curl.dll к примеру)

все библиотеки подключаемые(кроме php5ts.dll и libeay32.dll .они автоматически подключаются), должны быть прописаны в php.ini
Код:
extension_dir = "Z:/home/proxys/www/test/min/" ;где лежат либы
extension=php_curl.dll ;собственно либы

также очень важный момент: все библиотеки и экзешники должны быть из одной сборки ПХП.я например из денвера выдираю
также, в случае нехватки библиотек, скрипт сам вам напишет об этом в консоли, либо выкинет окошко.читаем внимательно, и подключаем
 
Единственное что так то что под виндой для консольной версии php может быть другой конфиг php и там может не быть курла .. надо проверить.

запустить в консоли php с ключем -i и посмотрите откуда он читает конфиг
Конфиг читаеться из
c:/Windows/
Я обычно туда его и кладу )
 
также как и в nix перенаправить вывод (напрмер в файл)

php scipt.php > c:\windows\message.log
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху