2015-04-12 80 views
4

試圖讓排隊到我的共享主機上運行工作,使用laravel隊列不能在我的共享主機解決方案

  • 我已成立一個cron作業運行的PHP工匠隊列:工作「的每一分鐘。
  • 我使用的數據庫驅動程序
  • 的工作進入到工作表細
  • 如果我使用的同步驅動程序,它的工作原理我的共享主機 上我的開發人員的機器,它的工作原理都與同步和數據庫驅動程序。
  • 我不跌Laravel Queue: How to use on shared hosting提供了充分的答案,因爲我有cron的可能性,因此,我想獲得它的數據庫驅動程序
  • PHP的工作是兩個5.5版本的CLI和Web界面。

PHP工匠隊列:(通過cron)我的共享主機上的工作,寫了下面的我的日誌文件返回

[ErrorException] 
Invalid argument supplied for foreach() 

[2015-04-12 18:59:01] production.ERROR: exception 'ErrorException' with message 'Invalid argument supplied for foreach()' in /home/a109/vendor/symfony/console/Symfony/Component/Console/Input/ArgvInput.php:287 Stack trace: 
#0 /home/a109/vendor/symfony/console/Symfony/Component/Console/Input/ArgvInput.php(287): Illuminate\Foundation\Bootstrap\HandleExceptions->handleError(2, 'Invalid argumen...', '/home/a109/vend...', 287, Array) 
#1 /home/a109/vendor/symfony/console/Symfony/Component/Console/Application.php(823): Symfony\Component\Console\Input\ArgvInput->hasParameterOption(Array) 
#2 /home/a109/vendor/symfony/console/Symfony/Component/Console/Application.php(123): Symfony\Component\Console\Application->configureIO(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
#3 /home/a109/vendor/laravel/framework/src/Illuminate/Foundation/Console/Kernel.php(94): Symfony\Component\Console\Application->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
#4 /home/a109/artisan(35): Illuminate\Foundation\Console\Kernel->handle(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
#5 {main} 

在供應商/ symfony中/控制檯線287/Symfony的/組件/控制檯/輸入/ ArgvInput.php有此功能

/** 
* Returns true if the raw parameters (not parsed) contain a value. 
* 
* This method is to be used to introspect the input parameters 
* before they have been validated. It must be used carefully. 
* 
* @param string|array $values The value(s) to look for in the raw parameters (can be an array) 
* 
* @return bool true if the value is contained in the raw parameters 
*/ 
public function hasParameterOption($values) 
{ 
    $values = (array) $values; 

    foreach ($this->tokens as $token) { 
     foreach ($values as $value) { 
      if ($token === $value || 0 === strpos($token, $value.'=')) { 
       return true; 
      } 
     } 
    } 

    return false; 
} 

即失敗的吸盤。

我該如何得到這個工作?

回答

7

在freenode的在#laravel通過科明回答

我不得不改變cron命令到這一點:

php -d register_argc_argv=On artisan queue:work