2013-07-12 2 views
0

как выполнить через командную строку скрипт php, передающий get paramateres. Я пытался выполнить следующуювыполнить php через cli передать аргументы

chmod +x /media/linkstation/myfolder/import/import.php 

sudo php5 ./media/linkstation/myfolder/import/import.php?id=4

, но не будет работать Could not open input file

ответ

1

Вы пытаетесь смешать протокол файл с протоколом HTTP, который не будет работать.

Параметры должны быть отделены от пути к файлу.

Edit:

Пока правильный путь, вы можете попробовать:

sudo php5 ./media/linkstation/myfolder/import/import.php id=4

Теперь первый аргумент $argv[1] является строка запроса, так долго, как это одна строка (или завернутый в цитаты), он появится на принимающей стороне скрипта. После этого вы можете лечить его по своему усмотрению.

Однако есть более подходящие способы доставки параметров. Вы можете найти параметры командной строки более полезными: http://php.net/manual/en/function.getopt.php

sudo php5 ./media/linkstation/myfolder/import/import.php --id="4"

+0

спасибо за обратную связь я так и думал. Какой будет правильный синтаксис? – fefe

+0

взгляните на этот ответ http://stackoverflow.com/questions/3848901/how-to-pass-query-string-parameters-to-the-php-binary – DevZer0

+0

, если я использую php cgi, чем работает php-cgi -f /media/linkstation/myfolder/import/import.php id = 4 , но можно ли создать cronjob для этого? – fefe