2016-12-23 6 views
1

여러 컴퓨터에서 작동하는 ZF2 응용 프로그램이 있습니다. 실행중인 모든 젠드 서버. 문제를 찾아내는 것이 매우 어려웠으므로 문제에 더 가까워 질 수 있도록 질문하십시오. 응용 프로그램을 실행젠드 애플리케이션이 한 컴퓨터에서 작동하지만 다른 컴퓨터에서는 작동하지 않는 이유는 무엇일까요?

기계는 다음과 같습니다 OSX 엘 캐피에

  • 젠드 서버.

    • 젠드 서버를 CentOS 6에 가상 상자를 사용하여 :

    문제가 실행 보여줍니다 기계를 CentOS 6의 가상 상자를

  • 젠드 서버를 사용하여 CentOS의 7
  • 젠드 서버.

문제가있는 컴퓨터에서가 아니라 가공 기계에 오류가 발생겠습니까이 use Zend\Db\Sql\Ddl\Column\DateTime; 같은 use 문. 이는 실제 클래스 이름이 Datetime이고 DateTime이 아니기 때문입니다. 따라서 Tt으로 변경하면 오류가 제거됩니다.

특정 PHP 구성이 누락되었는데 그 이유가이 오류가 있습니까? 아니면 젠드 서버 또는 운영 체제에 문제가 있습니까?

PHP -v PHP 7.0.11

젠드 서버 버전 9.0.1

또 다른 오류가 나는 얻을 :

apiv1modulenamecontroller (별칭 생성하는 동안 : API 광고 \ V1 \ 모듈 이름을 \ Controller)이 인스턴스 유형에 대해 유효하지 않은 팩토리가 등록되었습니다.

참고 apiv1modulenamecontroller

+0

각 인스턴스의 PHP 버전은 무엇입니까? – lemoney

+0

나는 모든 유닉스 시스템이 대소 문자를 구분한다고 생각했다. – RiggsFolly

+1

리눅스 운영체제가 설계된 바로 그 방식. 항상 대소 문자를 구분하는 파일 시스템을위한 코드를 작성하도록 권장했습니다. – CodeGodie

답변

2

에서 소문자이 디자인에 의해 발생합니다. 이것은 Linux 운영 체제가 설계 한 방식 일뿐입니다. 엄밀히 말하자면이 엄격하게 뒤 따르는 서버에 코드를 배포 할 경우 코드가 준비되도록 대/소문자 구분 파일 시스템 용 코드를 항상 만드는 것이 좋습니다.

+1

당신의 업보가 있습니다 ... – Wilt

+0

@ 윌트는 앞으로 나아갈 해결책을 제안 할 수 있습니까? 나는 여전히 다른 운영 체제와 같은 운영 체제를 사용하고 있습니다. IIS 나 다른 스택을 사용하고있는 것과 같지 않습니다! – mehany

+0

나는 당신이 제안하는 것, 누군가 [여기에] 설명했다 (http://stackoverflow.com/questions/15488632/php-class-exists-actingcase-sensitive) – mehany