Передача параметров в функцию system () в PHP

0

Я хочу передать параметры следующей функции:

system ("/usr/bin/nohup/usr/bin/php -q/var/www/vhosts/example.com/httpdocs/foldername/filename.php>/dev/null 2>/dev/null &");

Я пробовал следующие вещи, но не повезло.

  1. system ("/usr/bin/nohup/usr/bin/php -q/var/www/vhosts/example.com/httpdocs/foldername/filename.php?abc=123>/dev/null 2>/dev/ноль &");

  2. system ("/usr/bin/nohup/usr/bin/php -q/var/www/vhosts/example.com/httpdocs/foldername/filename.php abc = 123>/dev/null 2>/dev/null & ");

Пожалуйста, объясните мне, как передать параметр и как получить это значение параметра в этом файле example.php.

благодаря

  • 0
    командная строка php принимает строки get. Это файл, а не URL. Вы можете передавать аргументы в файл так же, как любой скрипт командной строки (отдельные слова или строки в кавычках, разделенные пробелами) и обращаться к ним через $argv . Вы можете прочитать больше об использовании командной строки php в руководстве: php.net/manual/en/features.commandline.php и php.net/manual/en/reserved.variables.argv.php
  • 0
    Спасибо @Jonathan Kuhn, вы имеете в виду system ("/ usr / bin / nohup / usr / bin / php -q /var/www/vhosts/example.com/httpdocs/foldername/filename.php 123> / dev / null 2 > / dev / null & "); правильно ?
Показать ещё 7 комментариев
Теги:

1 ответ

1

Командная строка php не принимает строки get. Это файл, а не URL-адрес. Вы можете передать аргументы в файл, как и любой сценарий командной строки (пробел, разделенный одиночными словами или кавычками), и получить доступ к ним через $argv. Вы можете узнать больше об использовании командной строки php в руководстве:

php.net/manual/en/features.commandline.php php.net/manual/en/reserved.variables.argv.php

Вы также можете передать строку с строкой в строке запроса (я бы предложил ее процитировать) и использовать parse_str для получения ключей/значений.

Строка Cmd: PHP скриптName.php "foo=1&bar=2"

в скрипте:

$queryString = parse_str($argv[1]);
//and now you have:
$queryString['foo']; //equals 1
$queryString['bar']; //equals 2

Ещё вопросы

Сообщество Overcoder
Наверх
Меню