2015-02-07 3 views
2

symfony 응용 프로그램을 one.com 서버에 배포했습니다. SwiftMailer를 통해 이메일을 보내는 메일 서비스를 작성했습니다.Symfony2 - 클래스 XXX를 찾을 수 없음

이제 one.com에는 허용 된 phar-extension이 없으므로 작성자는 ssh를 통해 업데이트 할 수 없습니다. 내가 발견되지 않는 작곡가의 classmap 및 클래스를 검색 한

Fatal error: Class 'Stocksolutions\ShopBundle\DependencyInjection\Mail' not found in /customers/4/b/b/stocksolutions.be/httpd.www/releases/20150204201140/app/cache/dev/appDevDebugProjectContainer.php on line 3602

: 그래서

composer update -o 

내가 메일 서비스를 얻으려고 할 때마다 함께 로컬 classmap를 생성, 응용 프로그램 오류가 발생합니다 안에 있습니다 :

또한 다른 서비스를 얻을 수 있습니다. fe FOSUserBundle에서 가져온 것이지만 맞춤 서비스를 받으면 오류가 발생합니다. 또한 로컬에서 테스트 할 때 이러한 오류가 발생하지 않습니다 ..

아이디어가 있으십니까?

+3

프로덕션 서버에서 테스트하지 않은 새 버전이 생성되므로 업데이트하지 마십시오. 'composer install'을 실행하고'composer.lock' 파일을 커밋하여 프로젝트에 배포하십시오. 배포시 SSH를 사용하여 모든 종속성과 자동 로딩이 설치된 상태에서 로컬 시스템에서 원격 시스템으로 복사 할 수 있습니다. 로컬로 작동하는 경우 원격 작동해야합니다. – Sven

+0

클래스 맵을 생성하지 않으면 작동하지 않습니다. 그런 다음 홈페이지 (이 클래스가 다른 클래스)에 '클래스를 찾을 수 없음'오류가 표시됩니다. 어쩌면 알아야 할 가치가있는 부분은 응용 프로그램이 하위 폴더에 있고 htaccess 파일을 통해 참조된다는 것입니다. 그런 다음 다시 클래스 맵의 클래스 경로가 정확하고 파일이 제 위치에 있습니다. 그래서 실제로는 감쌀 수 없습니다. 내 머리 주위에 .. –

+0

클래스 맵을 생성 한 후 캐시 지우기를 시도 했습니까? 이것은'appDevDebugProjectContainer.php'를 갱신 할 것이고 당신의 문제는 사라질 것입니다. –

답변

5

대소 문자를 구분합니다.

귀하의 오류 : PSR의 힘이 파일 /src/Stock**s**olutions/ShopBundle/DependencyInjection/Mail.php을 검색하지만, /src/Stock**S**olutions/ShopBundle/DependencyInjection/Mail.php 존재하는 Stocksolutions 네임 스페이스에

Fatal error: Class 'Stocksolutions\ShopBundle\DependencyInjection\Mail' not found

작은 편지 s.

경로/파일 이름에서 대/소문자를 구분하지 않는 Windows 시스템의 경우 오류가 발생하지 않습니다.

P. 클래스 네임 스페이스의 오타가 번들 서비스 설명 (services.yml/services.xml)에있을 가능성이 큽니다.

+0

soooo 많이 감사합니다. 나는 이것에 대해 내 머리를 얻을 수 없었다! –

관련 문제