문제

ASP.NET에서 웹 애플리케이션을 개발하는 데 다소 소멸 된 오픈 소스가되어 몇 년 동안 많은 PHP / MySQL 개발을 시작하겠습니다.

나는 매우 고통스럽게 설치했다 Wampserver Windows 시스템에서 개발 환경을 시작하고 실행하기 위해서는 타겟팅 할 플랫폼이 Linux 일 가능성이 높습니다. 그래서 내 질문은 Linux를 타겟팅하는 동안 Windows에서 발전하여 문제가 발생할 가능성이 있습니까? 램프 앱을 개발할 수있는 Linux 환경 설정을 얻는 데 투자하는 것이 좋습니다.

도움이 되었습니까?

해결책

당신이 할 수 있다면 나는 어떤 종류의 리눅스 또는 최소한 *닉스 개발 환경에 투자 할 것입니다. 간단한 응용 프로그램 및 웹 사이트의 경우 설정이 적합하지만 배포 할 때는 결국 미묘한 차이가 발생합니다.

Windows 환경을 고수하면 조심하고 싶은 내 머리 꼭대기에있는 것들이 있습니다.

  1. 파일 경로. 많은 PHP 기능이 파일 경로를 인수로 사용합니다. Windows BacksLash () 분리기를 사용하지 마십시오. Windows에 있더라도 PHP를 사용하면 전방 슬래시 분리기를 사용할 수 있습니다. 자신의 파일 경로 클래스로 이것을 이상적으로 추상화하십시오.

  2. Apache 모듈, PECL 확장. Apache Windows와 Apache Unix에는 종종 기본적으로 설치된 다른 Apace 모듈 세트가 제공됩니다. 또한 동일한 버전의 모듈이 다른 플랫폼에서 다르게 실행될 수 있습니다. 신청서가 의존하는 경우 어느 Apache 모듈, 두 플랫폼 모두에 사용할 수 있는지 확인하십시오. PHP Custom Extensions (PECL)에 대해서도 동일합니다.

  3. 프로세스 포킹. 웹 앱에서 exec,`등을 사용하는 것은 시작하는 것이 좋지 않지만, 이러한 기능을 사용하는 경우 Windows와 *Nix간에 다르게 행동하게됩니다.

  4. 파일 쓰기, 잠금 등은 다르게 작동합니다

  5. 이메일은 두 플랫폼 모두에서 다르게 처리됩니다

  6. Windows 용 PHP 그룹의 코드 단어는 "일부 플랫폼"입니다. 더 많이 연구 할 수 있습니다 스스로 원한다면

일반적으로 개발 환경이 생산 환경과 일치할수록 환경/배포 관련 문제가 줄어 듭니다.

도움이되기를 바랍니다!

다른 팁

나는 지난 몇 년 동안 그것을 해왔으며 아직 어떤 문제도 해결하지 못했다.

권한과 Windows Filename에서 대소 문자에 민감하지 않다는 사실은 내가 생각할 수있는 두 가지가 나에게 고통 스러웠습니다. 그러나 그들은입니다

  1. FTP 클라이언트와 함께 최악의 경우 권한을 변경할 수 있습니다.
  2. 당신을 더 나은 프로그래머로 만들 수있는 좋은 방법 (예, 예).

아니요, WAMP에서 개발하고 램프에서 달리는 것은 괜찮지 만 적어도 램프의 무대. 나는 많은 문제없이 두 가지를 모두 진행했습니다 (OK, WAMP에 엔터프라이즈 사이트를 배포하는 데 많은 문제가 있었지만 (PHP ISAPI 필터를 사용하지 마십시오) 지금은 해결할 수 있습니다 (FASTCGI). Windows에서 지원되지 않는 상태의 PECL 모듈을 추가하지 않는 한 문제가 없어야합니다. 또한 (MySQL을 사용하고 있다고 가정합니다) MSSQL 및 PHP에는 여러 가지 문제가 있습니다 (고대 드라이버는 쿼리 길이를 심각하게 제한해야 함).

이론적으로 PHP와 MySQL은 완전히 플랫폼 독립적이어야합니다.

실제로 실제 생산 응용 프로그램을 사용하려면 놀라움을 피하기 위해 생산 환경을 반영하는 테스트 환경을 사용하는 것이 좋습니다.

예, 가능한 한 생산 환경에 가까운 환경에서 개발하는 것이 좋습니다. Linux와 비교하여 PHP가 Windows에서 작동하는 방식에는 차이가 있습니다. Linux가 Windows에 비해 파일 권한을 처리하는 방법과 같은 다른 차이점. Linux 가상 시스템으로 무료 VMware 서버를 실행합니다. Windows에서 네트워크 드라이브로 마운트 한 Linux VM에 Samba 공유가 있습니다. 그런 다음 Windows에서 Eclipse를 코드 편집기로 사용합니다.

아니요, 타겟 램프를 사용하는 경우 WAMP에서 할 수없는 유일한 일이기 때문에 체계()/exec 전화 및 대개 그것들은 매우 드물게 사용되어야하기 때문에 좋은 일입니다.

램프 샌드 박스를 사용하면 파일을 찾을 수있는 위치 (그리고 편집 방법 - 구성, 서비스 재시작, 예약 된 작업 처리 등을 편안하게 알 수 있습니다. 제작에서 이러한 작업을 처리 해야하는 경우).

아니.
VirtualBox + 공유 폴더는 모든 Vbox 기본 사항을 명확하게하고 설정을 해결하기 위해 주말에 약 6-8 시간 무료가 있으면 유용해야합니다. Linux로 전환하는 경우 프로세스가 한 달까지 걸릴 수 있으며 고도로 그 당시 생산 코드 측면에서 비생산적.
pclinuxos, Centos, OpenSuse, Ubuntu] 중 하나를 사용하여 전환하기 전에 Windows 용 Vbox에서 Linux를 계속 연습하는 것이 좋습니다. 나는 Centos, pclinuxos를 선호합니다. Slampp라는 보석과 Xampp <라는 또 다른 아름다움이 있으며 Linux와 Windows에서 작용합니다.
IMO는 대략적인 추측으로, 프로젝트 당 2000-3000 줄의 코드 라인 (작성/추가)을 코딩 할 것으로 예상되면 6MO-1Y에 대해 vbox를 사용하여 Windows 및 Master Linux를 사용하십시오.
그 위에 있거나 멋진 새 램프 웹 사이트를 만들 계획이라면 먼저 Linux로 전환해야한다고 생각합니다. 리눅스에 익숙해지기 위해 한 달 더 걸립니다. 램프 앱을 디버깅하기 위해 충분히 Linux를 배우는 데 시간이 걸린다.

경로, 길을 조심하십시오. 전체 CM을 구축 할 수 있으며 경로 때문에 엉망이됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top