2013-06-14 3 views
0

Symfony2 프로젝트 (v2.2.2)를 개발했으며 로컬에서 모두 잘 작동했습니다. 웹에 액세스하려고 할 때프로덕션 환경에서 구문 분석 오류가 발생했습니다.

  • 폴더 내가 구문 분석 오류가 발생할
  • /에서는 Filezilla를 통해 전송하지 않습니다 빈 (불가능 시작하는 전송) : 내 서버에 배포

    나는이 문제를 충족 디버그 모드에서 /app.php/ (아래 참조)

처음에는 로컬에서 작동하지만 생산에서 작동하지 않는 이유를 알 수 없습니다. 또한 링크 된 곳에서이 오류를 추측했는데/bin이 무엇인지 모르지만 (doctrine과 doctrine.php 파일이 두 개 밖에 없습니다) 로컬로 제거하면 작업이 계속됩니다 ...

구문 분석 오류는 다음

"FatalErrorException : 구문 분석 : 구문 오류, 예기치 않은 '['/home/colocall/twinkler/src/Tk/ExpenseBundle/Services/Expenses.php 라인 21"

Expenses.php 라인 15 > 25 :

public function getAllExpenses($member, $group) 

{ 
    $all_expenses_col = $group->getExpenses(); 
    $all_expenses = array(); 

    foreach($all_expenses_col as $expense){ 
     $all_expenses[] = [$expense, $this->forYou($member, $expense)]; 
    } 

    return $all_expenses; 
} 

to : ssh 연결을 통해 데이터베이스를 업데이트하려고하면 구문 분석 오류가 발생합니다.

사람이

+0

무엇 PHP 버전을 사용하고 있습니까 둘 다? 그리고 어떤 코드가 21 행의 Expenses.php에 있습니다. – cheesemacfly

+0

로컬 PHP 5.4.4/on my server PHP 5.3.10. Expenses.php 코드가 게시물에 추가되었지만이 코드는 로컬로 작업 중입니다 ... –

답변

1

가 귀하의 오류가 생성됩니다

가 사전에 감사합니다 나는 그것이 내가 이미 잃은 내 하루를 절약 할 수 작업 할 수없는 이유 ..., 쥘를 알고 싶다면 코드에서 짧은 배열 구문 []을 사용합니다.

프로덕션 서버에서 PHP 5.3.10으로 사용할 수 없습니다. 짧은 구문은 PHP 5.4에서 소개되었습니다.이 구문은 개발자 환경에서 코드가 작동하는 이유를 설명합니다.

변화 ...

$all_expenses[] = [$expense, $this->forYou($member, $expense)]; 

...

$all_expenses[] = array($expense, $this->forYou($member, $expense)); 

... 또는 서버의 PHP 버전을 업데이트하고 그것을 작동합니다 :)

+0

감사합니다. 그러면 어떤 구문을 사용해야합니까? [value, value] 및 [key => value, key => value] 대신 –

+0

배열 (값, 값) 또는 배열 (키 => 값, 키 => 값) – nifr

+0

고맙습니다. 그렇다면 ... 내 폴더/bin을 내 서버로 전송할 수 없다는 것이 문제입니까? –

관련 문제