PHP 관점에서 파이썬을 서버 언어로 사용하는 방법


11

PHP를 사용한 서버 측 프로그래밍 만 알고 있습니다. 나에게 무언가를 쓰고 index.php호출 http://localhost/index.php하여 PHP 스크립트의 결과를 봅니다. 나는 CakePHP를 사용하고 있으며 URL 재 작성으로 할 수있는 일이 있다는 것을 이해하지만, 내 생각에 서버의 URL과 PHP 파일 사이에는이 일대일 관계가 있습니다.

이제 파이썬으로 많은 작업을 수행하지만 명령 줄 유틸리티 만 사용하십시오. 다음 프로젝트에 PHP 대신 Python을 사용하고 싶습니다. 지금까지 나는 mod_pythonPylons 또는 Twisted 또는 Django와 같은 프레임 워크를 사용하여 출력을 얻어야 한다고 들었 습니다. 다른 사람들은 print()HTTP 헤더 만 있으면 PHP와 함께 사용되는 것처럼 스크립트가 출력된다고 말했습니다.

기본적으로 디렉토리 목록 만 가져 와서 꽤 아름답게 작성하여 모바일 브라우저에서 많은 PDF 파일에 액세스 할 수있는 것을 작성하고 싶습니다. PHP 로이 작업을 수행하는 방법을 알고 HTML을 생성하는 Python 스크립트를 만드는 방법을 알고 있습니다. 내가 열 때 그 스크립트를 실행하는 방법을 모른다 http://localhost/pdfcentral/.

서버를 어떻게 구성해야합니까? 우분투 10.04에서 실행됩니다.


다양한 변형이 가능하지만 가장 간단한 방법은 Python 스크립트를 cgi-bin디렉토리 에 넣어 서버가 스크립트 를 실행하고 다른 경로를 사용하려는 경우 선택적으로 PHP 파일을 리디렉션하는 것입니다. 파이썬 스크립트 자체에 대해서는 다음 절차를 따르십시오 : forrestbao.blogspot.com/2009/08/…
ionFish

답변:


9

mod_python더 이상 적극적으로 개발되지 않고 있습니다. 아파치에 따르면 프로젝트가 죽었다는 의미는 아닙니다.

현재 mod_python은 현재 개발 중이 아닙니다. 그렇다고 일부 사람들이 주장한 것처럼 "죽었다"는 것은 아닙니다. 이 코드는 프로젝트를 유지 관리하는 데 필요한 것이 거의 없을 때 코드와 프로젝트가 충분히 성숙되었음을 의미합니다.

그러나,되는 제안 하나를 사용해야 mod_wsgi에를 대신. 처음부터 모든 것을 구축하려는 경우입니다. 이것을 학습 연습으로 사용하지 않는 한 권장하지 않습니다.

라우팅, 요청 등을 처리하기 위해 웹 프레임 워크를 사용하는 것이 좋습니다.

Python 웹 프레임 워크의 전체 목록은 여기 에서 사용할 수 있지만 다음은 인기있는 것들입니다.

  • Django -Ruby on Rails와 동등한 Python으로 간주되며 꽤 무겁기 때문에 필요한 것에 적합하지 않습니다.
  • 플라스크 -마이크로 프레임 워크입니다. 즉, 크기가 작고 방해가되지 않으며 배터리가 많이 필요하지 않은 소규모 프로젝트에 이상적입니다.
  • 피라미드 -Pylons를 만든 동일한 그룹의 사람들에 의해 만들어졌습니다. 그것은 플라스크와 장고 사이의 어딘가에 있습니다-대신에 대체로 사용될 수 있습니다.
  • -이것은 또 다른 마이크로 프레임 워크이며 플라스크보다 훨씬 작습니다. 하나의 파일이며 표준 라이브러리 이외의 종속성 (내장 템플릿 엔진을 사용하는 경우)이 없으므로 원하는 것에 잘 맞습니다.
  • Web.py- 전원이 공급 된 Reddit (획득 한 후 새로운 도구로 다시 작성)
  • webapp2 -Google App Engine의 표준 프레임 워크입니다 (다른 프레임 워크를 사용할 수는 있음).

이 중 Flask를 사용하고 불만이 없으므로 권장합니다. 또한 사이트에 더 많은 기능을 원할 경우 삶을 훨씬 쉽게 만들어주는 확장 기능이 많이 있습니다.

또한 HTML을 어셈블하려면 템플릿 엔진이 필요합니다. 플라스크를 만드는 같은 사람들이 만든 Jinja2 는 꽤 널리 사용됩니다. 그러나 php웹 개발에서 나오면 Mako를 더 자연스럽게 사용할 수 있습니다.

다음은 Python 웹 개발에 대한보다 포괄적 인 FAQ입니다 . Python FAQ : Webdev


1
테스트 시스템에서 FastCGI 및 lighttpd로 실행중인 작은 Flask 프로젝트를 서버에서 실행해야합니다. 대단히 감사합니다!
Martin Ueding

1

나는 질문이 약간 혼란 스럽다는 것을 알았고 내가 옳다면 주된 목표는 예쁜 스타일을 사용하여 휴대 전화에 파일을 제공하는 것이라고 가정합니까?

이것이 사실이라면 무언가를 설정하기 위해 많은 루프를 사용할 필요가 없습니다.

Apache2를 사용하면 기본 파일 목록 디렉토리를 편집하여 원하는대로 스타일을 지정할 수 있습니다.

온라인에서 사용 가능한 준비된 주요 테마가 많이 있습니다. Google에서 Apache2 디렉토리 목록 용 테마를 검색하면 반응이 나쁘지 않습니다.

다음은 Apache의 기본 모양을 변경하는 방법에 대한 정보입니다.

그리고 여기에 체크 아웃 할 준비가 된 템플릿이 있습니다. 더 많은 것이 있습니다 ....

리 포지션 스타일

리 커서

지수


이것은 초기 문제를 꽤 잘 해결하는 것 같습니다. 나는 이것을 PHP에서 Python으로 옮기는 첫 번째 프로젝트로 사용할 수 있다고 생각했습니다. 파이썬 프로젝트가 멈 추면 이것을 살펴볼 것입니다. 감사!
Martin Ueding

당신의 환영;)
Simon Hayter
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.