2016-12-07 5 views
0

파일 변환 docx to pdf이있는 일부 프로젝트에서 작업 중이며 ssh 연결이없는 공유 호스트 서버를 사용합니다. 사용 옵션은 Ftp입니다.PHP 패키지 작성자를 피하는 방법?

그래서 phpword, 포터블처럼, 작곡가를 사용하지 않고 라이브러리로 패키지를 추출 할 수있는 옵션이 있습니다 및 basicly 서버의 폴더에 복사 할 수 있지만, 컨버터 패키지는 composer와 availabe있다. 패키지에서 필요한 파일의 압축을 풀려고했지만 핵심 인 autoloader.php가 필요하고 휴대용 파일 용 소스 파일을 수정하는 것만 볼 수 있습니다.

더 쉬운 방법은 있을까요?

저는 composer으로 새롭습니다. 휴대용으로 추출 패키지의 확실성을 이해하기가 어렵습니다.

제안 사항? 감사합니다.

답변

3

예, 나뿐만 아니라이 '작곡가'문제로 실행 작곡가 의존성. 많은 개발자들이 여러 가지 이유로 그것을 좋아하지만, 작은 패키지를 사용해 보거나 FTP 액세스 만 있으면 다른 종속성이 생깁니다. 큰 프레임 워크의 경우이를 이해할 수 있지만 클래스 수가 적은 작은 코드의 경우에는 의미가 없습니다.

예 : I 출력에 ODS 형식의 Excel 파일을 원했고, 그렇게 코드의 비교적 간단한 조각을 발견

https://github.com/Lapinator/odsPhpGenerator

불행하게도 최신 버전 작곡가에 따라 달라집니다. 다른 방법으로 코드를 사용할 수 없습니다. 개발자는 이것을 이점으로 간주 할 것입니다. 글쎄, 나는하지 않는다. 그래서 뭐 할까? 작곡가의 길을 강요 받거나 코드를 해킹 할 수 있습니까?

후자는 생각보다 훨씬 간단 할 수 있습니다. 우리가 필요로하는 것은 autoload.php 파일의 내용입니다. 이 파일은 아마도 PHP가 SPL 함수를 사용하여 패키지의 클래스를 어디에서 찾을지를 알려줄 것이다. 당신은 당신의 자신의 오토로더를 작성하려고 할 수 있지만, 내 패키지는 모든 PHP 파일이 필요합니다, 그래서 나는 단순히 쓴 :

require_once('../src/ods.php'); 
require_once('../src/odsDraw.php'); 
require_once('../src/odsFontFace.php'); 
require_once('../src/odsStyle.php'); 
require_once('../src/odsTable.php'); 
require_once('../src/odsTableCell.php'); 
require_once('../src/odsTableColumn.php'); 
require_once('../src/odsTableRow.php'); 

을 패키지로 autoload.php로는 작곡가를 사용하지 않고 일한 추가 한 후.

제 생각에는 개발자가 작곡가 프로세스를 거치지 않고도 작은 패키지를 시험해 볼 수있는 방법을 제공해야합니다. 그들이 올바른 방법으로 일하기를 원하기 때문에 그들은 아마 이것을하지 않습니다. 물론, 일단 작곡가에게 익숙해지면 큰 문제가 아닙니다.

+0

최근에 패키지를 만들 수있는 유일한 방법 인 autoload.php 파일을 작성했습니다. 작곡가를 사용. 대답 해줘서 고마워요. – Ingus

0

컴퓨터에서 composer install을 실행하고 모든 파일을 서버에 복사 할 수 있습니다. vendor 폴더에는 모든 작성자 종속성이 포함되어 있습니다.

+0

그래서 나는 작곡가와 함께 모든 패키지를 설치하려고 노력했다. 그리고 클래스에 문제가있어, 찾을 수 없다. 클래스 PHP 경로를 포함하고있다. 작곡가 또는 패키지 자체에 문제가 있습니까? – Ingus

+0

벤더 폴더를 제거한 후'composer install'을 실행하고 코드에'vendor/autoload.php'가 필요합니다. –

0

작곡가는 라이브러리 설치 프로그램이 아닙니다. 모든 사용자가 업데이트 후 사이트를 다시 기다리는 동안 프로덕션 서버에서 실행되지 않아야합니다.

나는 FTP 액세스 만 제공하는 호스팅 회사가 보안상의 이유로 (모든 사람이 읽을 수 있도록 일반 텍스트로 암호가 전송되므로) 돈을받지 않아야한다고 주장하지만, 작곡가의 경우, 로컬 시스템에서만 서버에 SSH가 필요하지 않습니다.

동일한 PHP 버전을 로컬 및 원격으로 모두 실행하고 있는지 확인하십시오. 그렇지 않으면 원격 PHP 버전에서 사용할 수없는 라이브러리를 설치하게됩니다.

+0

대학 프로젝트이므로, 서버에 돈을 쓰고 싶지 않습니다. 몇 달 동안 사용하지 마십시오 ... – Ingus