2017-04-19 5 views
0

프로젝트에 나뭇 가지를 설치하고 싶지만 서버에 명령 줄에 대한 액세스 권한이 없습니다. ftp를 통해서만 파일을 업로드 할 수 있습니다. 이것은 나뭇 가지 lib를 수동으로 설치해야한다는 것을 의미합니다. 즉 Autoload.php 파일을 직접 만듭니다. 나는 철저히 조사했지만이 주제에 관한 정보는 거의 없다. 다른 프로젝트에서 "차용 한"다음 자동로드를 시도했지만 작동하는 설정이 생성되지 않습니다.작곡가를 사용하지 않고 나뭇 가지를 설치하는 방법

<?php 

/* 
* This file is part of Twig. 
* 
* (c) 2009 Fabien Potencier 
* 
* For the full copyright and license information, please view the LICENSE 
* file that was distributed with this source code. 
*/ 

/** 
* Autoloads Twig classes. 
* 
* @author Fabien Potencier <[email protected]> 
*/ 
class Twig_Autoloader 
{ 
    /** 
    * Registers Twig_Autoloader as an SPL autoloader. 
    * 
    * @param bool $prepend Whether to prepend the autoloader or not. 
    */ 
    public static function register($prepend = false) 
    { 
     if (version_compare(phpversion(), '5.3.0', '>=')) { 
      spl_autoload_register(array(__CLASS__, 'autoload'), true, $prepend); 
     } else { 
      spl_autoload_register(array(__CLASS__, 'autoload')); 
     } 
    } 

    /** 
    * Handles autoloading of classes. 
    * 
    * @param string $class A class name. 
    */ 
    public static function autoload($class) 
    { 
     if (0 !== strpos($class, 'Twig')) { 
      return; 
     } 

     if (is_file($file = dirname(__FILE__).'/../'.str_replace(array('_', "\0"), array('/', ''), $class).'.php')) { 
      require $file; 
     } 
    } 
} 

아무 도움이됩니다.

+1

지역 개발 사본이 있습니까? Composer를 사용하여 로컬로 설치 한 다음 배포 프로세스가 무엇이든간에 새 버전을 배포 할 수 있습니다. – Chris

+0

다른 호스팅 제공 업체를 찾을 수 있습니까? – user2182349

답변

0

당신이 정말로 작곡가없이 나뭇 가지를로드 할 필요가 있다면 당신은이를 사용할 수 있습니다 https://gist.github.com/sarciszewski/b6cd3776fbd20acaf26b

내가 로컬 개발 환경에서 설정 작곡가에게 추천. (https://getcomposer.org/에서 다운로드 할 수 있습니다.) 작곡가와 함께 나뭇 가지를 설치하십시오.

composer require twig/twig:~2.0 

그런 다음 프로젝트에 자동 로더를 포함

require_once 'vendor/autoload.php'; 

당신은 로컬 작업과 프로젝트가 준비되면 설치된 패키지가 들어있는 공급 업체 디렉토리와 서버에 배포 할 수 있습니다. 서버에 작곡가가 필요하지 않습니다.

+1

[나뭇 가지]를 다운로드하려면 [공식] (https://github.com/twigphp/Twig/releases) 소스를 제공하지 않는 이유는 무엇입니까? – DarkBee

0

András가 제공 한 링크를 연구 한 후 키가로드 메커니즘이 아니라 "autoload.php"가 누락 된 것으로 나타났습니다. 나는 내가 사용하고 있던 Twig 버전이 사실상 2.X 버전이었고 PHP 7 이상이 필요하다는 것을 알았습니다. 5.4 버전에서 작업했기 때문에 이것은 분명히 작동하지 않습니다. 다행히 lib의 최신 1.X 버전은 autoload.php를 제공하므로 모든 기능이 정상적으로 작동합니다.

관련 문제