Sitepoint에 게시 된 Symfony 2 시리즈를 사용하여 개인 웹 앱에서 발가락을 빌드 할 때 Symfony 2를 사용하여 웹 응용 프로그램을 개발하기 위해 부트 스트랩, 개발 및 마무리 (일부 고급 기술)의 기본 사항을 다루었습니다. 그러나 시리즈의 길이 제한으로 인해 "최종"단계에서 크게 다루지 않았습니다. Symfony 2 응용 프로그램을 생산 환경에 배치합니다.
- .
프로덕션 서버의 "호환성"을 테스트하는 것은 처음에 우리가하는 일이어야합니다. 다양한 오류 메시지 등의 템플릿 등 배포 중에 해결해야 할 다른 측면도 있습니다.
-
이것은 서버에 서버에 설치 될뿐만 아니라 PHP 확장자로서 컬이 활성화되어 있는지 테스트하는 데 유용합니다. 외부 리소스를 잡을 수 있도록합니다. 특별한 경우, 이것은 매우 중요합니다 - Composer.org는 우리 나라에서 차단되었으며 Symfony 프레임 워크를 가져오고 설치하기 위해 대리를 사용해야합니다. 이 빈 프레임 워크는 나중에 버전 제어에 체크인 할 수 있습니다. 구성 파일 Symfony 2에는 웹 디렉토리에있는 config.php 파일이 제공됩니다. 이것은 대부분의 "준비"문제를 테스트하는 스크립트입니다. 그 페이지를 방문하려면 약간 조정해야합니다. 내 서버가 올바르게 구성되어 있으며 중요한 문제가 없습니다.
이 파일은 아래 표에서 요약 한 준비 문제를 테스트합니다. 실제 테스트는 app/symfonyrequirements.php에서 수행되므로 해당 파일도 볼 수 있습니다.
<span><span><?php </span></span><span> </span><span><span>if (!isset($_SERVER['HTTP_HOST'])) { </span></span><span> <span>exit('This script cannot be run from the CLI. Run it from a browser.'); </span></span><span><span>} </span></span><span> </span><span><span>if (!in_array(@$_SERVER['REMOTE_ADDR'], array( </span></span><span> <span>'127.0.0.1', </span></span><span> <span>'::1', </span></span><span><span>))) { </span></span><span> <span>header('HTTP/1.0 403 Forbidden'); </span></span><span> <span>exit('This script is only accessible from localhost.'); </span></span><span><span>} </span></span><span><span>...</span></span></span>
설정/모듈 요구 사항
진지함행동
PHP 버전= 5.3.3
필수이지만 5.3.16이어야합니다 최신 버전으로 업그레이드하십시오. 적어도 PHP 5.4.8 이상을 사용하도록 제안하십시오. 공급 업체 라이브러리 Composer.phar가 설치했습니다 필수의 Composer.phar를 사용하여 업데이트합니다 캐시, 로그 디렉토리 쓰기 필수의 권한을 부여하기 위해 CHMOD를 발행함으로써. 일반적으로 특권은 755 또는 777이어야합니다. 시간대 '아시아/상하이'또는 시간대와 같은 것 필수의 php.ini를 변경하십시오. json_encode, session_start, ctype_alpha, token_get_all, simplexml_import_dom 활성화 필수의 각각의 PHP 라이브러리를 활성화하십시오. 대부분의 PHP 서버에는 이러한 활성화가 있습니다. APC 활성화/비활성화 APC를 사용하는 경우 활성화 다른 캐시/가속기를 사용하는 경우 APC를 활성화하거나 APC를 비활성화하십시오. xdebug 다양한 설정 필수, 권장 그에 따라 XDEBUG 설정을 변경하십시오. domdocument, mb_strlen, iCony, utf8_decode, intl 등 다양한 모듈 추천 원하는 경우 활성화하십시오. 가속기 다양한 설정 추천 요청에 따라 설치 및 활성화하십시오. 짧은 오픈 태그, magic_quotes_gpc, register_globals, session.auto_start 장애가 있는 추천 제안을 따를 것을 제안하십시오. PHP 최신 버전에는 기본적으로 일부 버전이 비활성화되어 있습니다. pdo 데이터베이스 드라이버 추천 설치하고 활성화하십시오. 교리를 사용하는 경우 필수입니다. "필수"의 심각도 수준은 요구 사항을 충족시키기 위해 서버 설정을 변경해야한다는 것을 의미합니다. 그렇지 않으면 Symfony 2가 실행되지 않으므로 응용 프로그램 개발에 올바른 선택이되어서는 안됩니다. "권장"항목은 안전하게 무시할 수 있지만 가능한 한 그 권장 사항을 충족하는 것이 좋습니다. 내 경우 (위에 표시) 내 제작 서버에는 하나의 경고 만 있습니다. 이는 추가 개발을위한 견고하고 신뢰할 수있는 근거를 확립합니다.
git을 사용하여 파일을 동기화합니다 개발 중에 파일을 프로덕션 서버에 복사하는 대신 버전 제어를 사용하여 원격 사이트에 로컬 변경 사항을 동기화하려고 할 수 있습니다.이 경우 적절한 .gitignore (또는 다른 버전 제어 시스템에서 동등한)가 편리하게됩니다. 내 .gitignore 파일에서 발췌 한 내용은 참조 용입니다. 이것은 결코 철저하거나 적합한 목록이 아닙니다. 예를 들어, netbeans가 아닌 phpstorm을 사용하는 경우 NetBeans 섹션을 삭제하고 phpstorm에 맞는 필터로 교체 할 수 있습니다. 또는 두 가지를 남겨두면 다른 IDE를 사용할 수있는 다른 개발자를 자동으로 수용하십시오. 항상 첫 3 개의 섹션 (작곡가, Symfony, Logs)을 포함하는 것이 좋습니다. <span><span><?php </span></span><span> </span><span><span>if (!isset($_SERVER['HTTP_HOST'])) { </span></span><span> <span>exit('This script cannot be run from the CLI. Run it from a browser.'); </span></span><span><span>} </span></span><span> </span><span><span>if (!in_array(@$_SERVER['REMOTE_ADDR'], array( </span></span><span> <span>'127.0.0.1', </span></span><span> <span>'::1', </span></span><span><span>))) { </span></span><span> <span>header('HTTP/1.0 403 Forbidden'); </span></span><span> <span>exit('This script is only accessible from localhost.'); </span></span><span><span>} </span></span><span><span>...</span></span></span>
CHEREING CACHE 캐시를 지우려면 일반적으로 제작 서버로 SSH를하고 앱 디렉토리에서 RM -RF 캐시 명령을 수행합니다. 콘솔 캐시 : Clear 또는 Console Cache : Warmup 명령이 가장 깨끗한 방법이 아닐 수 있습니다. <span># Composer </span><span>vendor </span><span>vendor/* </span><span>!public/assets/js/vendor </span><span>!public/assets/js/vendor/* </span><span>!public/assets/css/vendor </span><span>!public/assets/css/vendor/* </span><span>composer.phar </span><span>composer.lock </span><span> </span><span># Symfony </span><span>app/cache/* </span><span>app/logs/* </span><span> </span><span># Logs </span><span>error.log </span><span>access.log </span><span> </span><span># Netbeans </span><span>nbproject </span><span>.nbproject </span><span>.nbproject/* </span><span>nbproject/* </span><span>nbproject/private/ </span><span>build/ </span><span>nbbuild/ </span><span>dist/ </span><span>nbdist/ </span><span>nbactions.xml </span><span>nb-configuration.xml</span>
원격 개발자 모드이것을주의해서 사용하고 절대적으로 필요한 경우에만 사용하십시오! 경우에 따라 로컬 기능 사이트가 프로덕션 서버에 배포 될 때 충돌 할 수 있습니다. 이를 일으키는 이유는 복잡 할 수 있으며 코딩 프로세스 자체와 관련이 없습니다. 이러한 상황에서는 원격 개발자 모드를 활성화하는 것을 고려할 수 있습니다. 이렇게하려면 app_dev.php의 아래 코드 블록을 댓글을 달아 LocalHost 확인을 비활성화하기 위해 비슷한 접근 방식을 취합니다.
그런 다음 http : //rsywx_remote/app_dev.php와 같은 방법으로 도메인과 페이지를 방문 할 수 있습니다. 무언가 잘못되면이 개발자 모드는 더 유용한 디버그 정보를 표시하고 깊은 근본 문제를 찾는 데 많은 도움이 될 수 있습니다. 이 디버그 기간 동안 보안이 추가 되려면 자신의 IP에서 위 파일로 만 방문 할 수있는 수표를 추가합니다. 이는 다른 모든 사람의 DEV 모드를 유지합니다. 대부분의 문제는 데이터베이스 설정 (잘못된 데이터베이스 및/또는 자격 증명), 잘못된 API URI (로컬 및 원격 URI가 다를 수 있음), 오래된 캐시, 로컬로 사용되는 라이브러리가 누락되었지만 원격으로 활성화되지 않은 라이브러리 등과 관련이 있습니다.문제가 해결되면 전체 액세스 제어를 복원하기 위해 해당 라인을 사용하지 않는 것을 기억하십시오. 일반 사용자는 App.php를 앱의 진입 점으로 만 사용할 수 있습니다. 오류 페이지를 사용자 정의하십시오 Symfony 2의 기본 Twig Template 엔진은 일부 오류 페이지 (404, 500 등)를 제공합니다. 그러나이 페이지의 디자인은 일반적으로 응용 프로그램에 맞지 않습니다. 공식 사이트에는이 작업을 수행하는 방법에 대한 자세한 설명이 있습니다. 우리는 우리 자신의 레이아웃과 테마를 기반으로 자신의 오류 페이지를 개발할 수 있습니다. 우리는 오류 페이지를 사용자 정의하고 앱/리소스/TwigBundle/views/Exception에 넣을 수 있습니다. 404 오류, 403 개의 오류 등에 대한 error403.html.twig 또는 일반 목적으로 오류가 있거나 error.html.twig의 error404.html.twig로 명명 될 수 있습니다. Symfony 2에서 오류 메시지 페이지는 Twig 템플릿 확장을 지원하지 않습니다. 즉, 다른 페이지를 위해 설계된 기존 레이아웃에서 오류 페이지를 확장 할 수 없습니다. 오류 페이지를 처음부터 설계해야합니다. 이것은 약간 불편하지만 여전히 진지한 사이트를 위해 할 가치가 있습니다. 결론 이 기사에서는 서버 준비, 버전 제어, 원격 개발자 모드, 캐시 업데이트, 오류 페이지 사용자 정의 등 일부 Symfony 배포 관련 주제를 다루었습니다.
배포는 일반적으로 개발의 마지막 단계입니다. 이 기사가 일반적인 Pitfals를 피하고 배포 프로세스를 더 매끄럽게 만들 수 있기를 바랍니다. 이 기사가 흥미 롭거나 유용하다고 생각되면이 기사를 재구성하고 피드백이 있으면 아래에 의견을 남겨주십시오. Symfony 2 개발 및 배치에 대한 자주 질문 Symfony 2 란 무엇이며 웹 개발 프로젝트에 사용해야하는 이유는 무엇입니까? Symfony 2는 웹 애플리케이션을 개발하는 데 사용되는 고성능 PHP 프레임 워크입니다. 속도, 유연성 및 재사용 가능한 구성 요소로 유명합니다. 이를 통해 개발자는 효율적인 방식으로 강력한 응용 프로그램을 구축 할 수 있습니다. 이 프레임 워크는 MVC (Model-View-Controller) 설계 패턴을 따라 코드베이스를보다 쉽게 관리하고 확장 가능한 응용 프로그램의 개발을 촉진 할 수 있습니다. Symfony 2는 또한 탁월한 지원을 제공하고 광범위한 번들 라이브러리에 기여하는 활기찬 커뮤니티를 보유하고 있습니다.
로컬 컴퓨터에 Symfony 2를 설치하려면 어떻게합니까?로컬 컴퓨터에 Symfony 2 설치 몇 단계가 포함됩니다. 먼저 PHP가 설치되어 있는지 확인해야합니다. Symfony 2는 PHP 5.3.9 이상이 필요합니다. PHP를 설치 한 후에는 PHP 용 종속성 관리 도구 인 Composer를 사용하여 Symfony를 설치할 수 있습니다. 공식 웹 사이트에서 작곡가를 다운로드 할 수 있습니다. Composer를 설치 한 후에는 'Composer Create Project Symfony/Framework-Standard-Edition My_project_name'을 실행하여 새로운 Symfony 프로젝트를 만들 수 있습니다.
Symfony 2의 주요 특징은 무엇입니까?Symfony 2 응용 프로그램을 어떻게 배포합니까? Symfony 2 배포에는 여러 단계가 포함됩니다. 먼저 서버가 Symfony 실행 요구 사항을 충족하는지 확인해야합니다. 여기에는 PHP를 올바르게 설치하고 구성하는 것이 포함됩니다. 서버가 설정되면 GIT와 같은 도구를 사용하여 응용 프로그램을 서버로 복제 할 수 있습니다. 그런 다음 작곡가를 사용하여 응용 프로그램 의존성을 설치해야합니다. 마지막으로, Symfony 응용 프로그램의 '웹'디렉토리를 가리 키려면 웹 서버를 구성해야합니다.
Symfony 2 응용 프로그램을 최신 버전으로 업그레이드 할 수 있습니까?Symfony 2에서 양식을 어떻게 작성하고 관리합니까? 양식을 쉽게 만들고 관리 할 수있는 '양식'구성 요소. 'formtype'클래스를 만들고 형식으로 필드를 정의하여 양식을 만들 수 있습니다. 양식이 작성되면 컨트롤러에서 양식 제출을 처리 할 수 있습니다. Symfony 2는 또한 검증 제약 조건을 사용하여 양식 데이터를 검증하는 방법을 제공합니다.
Symfony 2의 사용자 인증 및 승인을 어떻게 관리합니까? Symfony 2는 두 인증을 처리하는 포괄적 인 보안 구성 요소를 제공합니다. 그리고 승인. 양식 로그인, HTTP 기본 인증 또는 OAUTH와 같은 다양한 인증 방법을 구성 할 수 있습니다. 승인을 위해 Symfony 2는 사용자에게 세밀한 권한을 정의 할 수있는 유연한 'ACL (Access Control List)'시스템을 제공합니다.
Symfony 2 응용 프로그램의 성능을 최적화하는 방법은 무엇입니까?
위 내용은 Symfony 2 개발 및 배포를위한 체크리스트의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

Laravel은 직관적 인 플래시 방법을 사용하여 임시 세션 데이터 처리를 단순화합니다. 응용 프로그램에 간단한 메시지, 경고 또는 알림을 표시하는 데 적합합니다. 데이터는 기본적으로 후속 요청에만 지속됩니다. $ 요청-

PHP 클라이언트 URL (CURL) 확장자는 개발자를위한 강력한 도구이며 원격 서버 및 REST API와의 원활한 상호 작용을 가능하게합니다. PHP CURL은 존경받는 다중 프로모토콜 파일 전송 라이브러리 인 Libcurl을 활용하여 효율적인 execu를 용이하게합니다.

Laravel은 간결한 HTTP 응답 시뮬레이션 구문을 제공하여 HTTP 상호 작용 테스트를 단순화합니다. 이 접근법은 테스트 시뮬레이션을보다 직관적으로 만들면서 코드 중복성을 크게 줄입니다. 기본 구현은 다양한 응답 유형 단축키를 제공합니다. Illuminate \ support \ Facades \ http를 사용하십시오. http :: 가짜 ([ 'google.com'=> 'Hello World', 'github.com'=> [ 'foo'=> 'bar'], 'forge.laravel.com'=>

PHP 로깅은 웹 애플리케이션을 모니터링하고 디버깅하고 중요한 이벤트, 오류 및 런타임 동작을 캡처하는 데 필수적입니다. 시스템 성능에 대한 귀중한 통찰력을 제공하고 문제를 식별하며 더 빠른 문제 해결을 지원합니다.

고객의 가장 긴급한 문제에 실시간 인스턴트 솔루션을 제공하고 싶습니까? 라이브 채팅을 통해 고객과 실시간 대화를 나누고 문제를 즉시 해결할 수 있습니다. 그것은 당신이 당신의 관습에 더 빠른 서비스를 제공 할 수 있도록합니다.

기사는 PHP 5.3에 도입 된 PHP의 LSB (Late STATIC BING)에 대해 논의하여 정적 방법의 런타임 해상도가보다 유연한 상속을 요구할 수있게한다. LSB의 실제 응용 프로그램 및 잠재적 성능

이 기사에서는 프레임 워크에 사용자 정의 기능 추가, 아키텍처 이해, 확장 지점 식별 및 통합 및 디버깅을위한 모범 사례에 중점을 둡니다.

Alipay PHP ...


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

에디트플러스 중국어 크랙 버전
작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

Eclipse용 SAP NetWeaver 서버 어댑터
Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구
