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

Тема в разделе "PHP", создана пользователем maneak, 7 апр 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. maneak

    maneak Читатель

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

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

    Пробовал запускать экзешник 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($chCURLOPT_RETURNTRANSFER,1);
        
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
        
    curl_setopt($chCURLOPT_COOKIEJAR,$path.'/data/cookies.txt');
        
    curl_setopt($chCURLOPT_COOKIEFILE,$path.'/data/cookies.txt');
        
    curl_setopt ($chCURLOPT_USERAGENT"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1)");
        
    curl_setopt($chCURLOPT_URL'http://урл');
    $morda1=curl_exec($ch);
    в консоль отдается:

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

    Parasol Постоялец

    Регистр.:
    7 июл 2007
    Сообщения:
    149
    Симпатии:
    65

    А с чего вы взяли что так
    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 - там это точно есть )
    и тогда хидеры не будут отображаться, а будет только контент страницы.
     
    maneak нравится это.
  3. Alternator

    Alternator

    Регистр.:
    23 мар 2009
    Сообщения:
    295
    Симпатии:
    145
    curl_setopt($ch[$i],CURLOPT_RETURNTRANSFER,1);
    вот эта опция отключает вывод CURL-а
    по поводу же PHP в консоли, советую почитать раздел офмцмальной справки, под названием CLI(Comand Line Interface)
    лично я довольно часто использую PHP из командной строки, так как этот язык мне наиболее знаком и удобен в повседневном использовании.
    на нем пишется все что мне надо, начиная от работы с файлами по специфичным правилам
    например для torrent-ов я написал скрипт, который заменяет файлы в каталоге жесткими ссылками на файлы из другого каталога, аналогичных размеров.
    с его помощью, я довольно легко находил файлы уже имеющиеся у меня, соответствующим цже выложенным на трекере.
    или, вот сейчас у меня в процесах висит простенький демон, который проверяет постоянно прокси, и заносит в файл, удачные.
    в общем,удобно, если знаеш этот язык лучше других
     
    maneak нравится это.
  4. x00xer

    x00xer Создатель

    Регистр.:
    30 мар 2009
    Сообщения:
    29
    Симпатии:
    2
    Единственное что так то что под виндой для консольной версии php может быть другой конфиг php и там может не быть курла .. надо проверить.

    запустить в консоли php с ключем -i и посмотрите откуда он читает конфиг
     
    maneak нравится это.
  5. Alternator

    Alternator

    Регистр.:
    23 мар 2009
    Сообщения:
    295
    Симпатии:
    145
    вот минимальная конфигурация 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 ;собственно либы
    
    также очень важный момент: все библиотеки и экзешники должны быть из одной сборки ПХП.я например из денвера выдираю
    также, в случае нехватки библиотек, скрипт сам вам напишет об этом в консоли, либо выкинет окошко.читаем внимательно, и подключаем
     
    maneak нравится это.
  6. wal

    wal Постоялец

    Регистр.:
    24 мар 2008
    Сообщения:
    89
    Симпатии:
    30
    curl_setopt($ch, CURLOPT_VERBOSE, 0);
    curl_setopt($ch, CURLOPT_HEADER, 0);
     
    maneak нравится это.
  7. Parasol

    Parasol Постоялец

    Регистр.:
    7 июл 2007
    Сообщения:
    149
    Симпатии:
    65
    Конфиг читаеться из
    c:/Windows/
    Я обычно туда его и кладу )
     
  8. max-oligarh

    max-oligarh Постоялец

    Регистр.:
    4 май 2009
    Сообщения:
    68
    Симпатии:
    2
    также как и в nix перенаправить вывод (напрмер в файл)

    php scipt.php > c:\windows\message.log
     
Статус темы:
Закрыта.