이것은 코드를 가져 와서 Heroku로 밀고 식별 한 후 빌드 프로세스를 실행하여 배치 준비가되었습니다. 이제 우리의 응용 프로그램은 인터넷에서 라이브입니다! 이것을 확인하려면 지금 열어주세요 : #!/bin/bash
# Build Path: /app/.heroku/php/
dep_url=git://github.com/phalcon/cphalcon.git
phalcon_dir=cphalcon
echo "-----> Building Phalcon..."
### Phalcon
echo "[LOG] Downloading PhalconPHP"
git clone $dep_url -q
if [ ! -d "$phalcon_dir" ]; then
echo "[ERROR] Failed to find phalconphp directory $phalcon_dir"
exit
fi
cd $phalcon_dir/build
# /app/php/bin/phpize
# ./configure --enable-phalcon --with-php-config=$PHP_ROOT/bin/php-config
# make
# make install
BUILD_DIR=
ln -s $BUILD_DIR/.heroku /app/.heroku
export PATH=/app/.heroku/php/bin:$PATH
bash ./install
cd
echo "important extension phalcon into php.ini"
echo "extension=phalcon.so" >> /app/.heroku/php/etc/php/php.ini
모든 것이 잘 진행되면 브라우저에 다음 화면이 표시됩니다.
웹 루트를 구성하고 샘플 사이트를 배포하십시오
이제 웹 루트를 지정하는 까다로운 부분이 있습니다. 웹 루트를 지정하려면 약간 더 많은 작업과 배경 정보가 필요합니다. Git 트리에있는 Phalcon 웹 사이트 응용 프로그램의 루트는/app/phalcon-website/public입니다. Heroku의 경우 기본적으로 웹 루트는 git-tree의 루트입니다. 이 디렉토리는 내부적으로 /앱에 맵핑되었습니다. 이를 변경하려면 Heroku 앱 웹 노드가 시작될 때마다 SH 스크립트를 시작하는 소위 ProcFile을 만들어야합니다. 그런 다음 해당 스크립트는 서버 구성을 수정하고 웹 루트를/app/phalcon-website/public으로 설정하는 자체 구성이 포함되어 있습니다. 다음 내용으로 ProcFile 파일을 만듭니다.
Phalcon 웹 사이트를 Repo 폴더로 복제하고 완료되면 Git Push 명령은 로컬 마스터의 모든 커밋을 중앙 저장소로 보냅니다.
앱의 공개 URL과 Voila를 방문하십시오. 여기 Heroku에서 PhalConphp.com 복제품이 실행 중입니다.
결론에서 wget -qO- https://toolbelt.heroku.com/install.sh | sh
Heroku에 PhalCon (또는 기타 PHP 확장)을 설치하는 것은 분명히 쉽고 단순하지 않지만 BuildPacks를 사용하면 훨씬 더 접근하기 쉬워집니다.
아래의 의견에 피드백을 남겨두고 언제나 그렇듯이이 기사를 좋아한다면 공유하십시오!
Heroku에 맞춤형 PHP 확장을 설치하는 것에 대한 자주 묻는 질문 (FAQ)
Heroku에 맞춤형 PHP 확장을 설치하려면 어떻게 할 수 있습니까?
Heroku에 사용자 정의 PHP 확장 설치에는 몇 단계가 포함됩니다. 먼저 프로젝트 루트에서 'composer.json'이라는 파일을 만들어야합니다. 이 파일에는 설치하려는 PHP 확장 기능이 포함됩니다. 예를 들어, 'gd'확장자를 설치하려면 'composer.json'파일이 다음과 같습니다. "*"heroku login
Enter your Heroku credentials.
Email: fcopensuse@gmail.com
Password:
Could not find an existing public key.
Would you like to generate one? [Yn]
Generating new SSH public key.
Uploading ssh public key /home/duythien/.ssh/id_rsa.pub
}
'Composer.json 파일을 작성한 후 터미널에서'Composer Update '명령을 실행해야합니다. 프로젝트 루트에 'composer.lock'파일이 생성됩니다. 'composer.json'과 'composer.lock'파일을 모두 git 저장소에 커밋해야합니다. 마지막으로 'Git Push Heroku Master'명령을 사용하여 변경 사항을 Heroku로 밀어 넣을 수 있습니다. Heroku는 'Composer.json'파일에 지정된 PHP 확장 기능을 자동으로 설치합니다. Heroku에 PHP 확장을 설치하려고 할 때 오류가 발생하는 이유는 무엇입니까? Heroku에 PHP 확장을 설치하려고 할 때 오류가 발생하는 데 몇 가지 이유가있을 수 있습니다. 일반적인 이유 중 하나는 설치하려는 확장자가 사용중인 PHP 버전과 호환되지 않기 때문입니다. 터미널에서 'PHP -V'명령을 실행하여 PHP 버전을 확인할 수 있습니다. Extension이 PHP 버전과 호환되지 않은 경우 PHP 버전을 업데이트하거나 PHP 버전과 호환되는 확장 버전을 찾아야합니다. 오류를 얻는 또 다른 일반적인 이유는 다음과 같습니다. PECL 저장소에서는 확장을 사용할 수 없습니다. Heroku는 PECL 저장소를 사용하여 PHP 확장을 설치합니다. PECL 저장소에서 확장자를 사용할 수없는 경우 Heroku에 설치할 수 없습니다.
Heroku에서 사용자 정의 php.ini 파일을 사용할 수 있습니까?
예, 사용자 정의 PHP를 사용할 수 있습니다. Heroku의 .ini 파일. 이렇게하려면 프로젝트 루트에서 '.user.ini'파일을 만들어야합니다. 이 파일에는 사용자 정의 PHP 설정이 포함됩니다. 예를 들어 최대 파일 업로드 크기를 늘리려면 '.user.ini'파일이 다음과 같습니다. '.user.ini'파일, git 저장소에 커밋하고 변경 사항을 Heroku로 밀어야합니다. Heroku는‘.user.ini’파일에 지정된 설정을 자동으로 적용합니다.
Heroku에서 내 PHP 버전을 업데이트하는 방법은 무엇입니까?
Heroku에서 PHP 버전을 업데이트하면 몇 단계가 포함됩니다. 먼저 'Composer.json'파일에 새 PHP 버전을 지정해야합니다. 예를 들어, PHP 7.4로 업데이트하려면 'composer.json'파일이 다음과 같습니다. }
}
'Composer.json 파일을 업데이트 한 후 터미널에서'Composer Update '명령을 실행해야합니다. ‘composer.lock’파일을 업데이트합니다. 'composer.json'과 'composer.lock'파일을 모두 git 저장소에 커밋해야합니다. 마지막으로 'Git Push Heroku Master'명령을 사용하여 변경 사항을 Heroku로 밀어 넣을 수 있습니다. Heroku는 PHP 버전을 자동으로 업데이트합니다 사용자 정의 빌드 팩을 사용하여 Heroku에 PHP 확장을 설치할 수 있습니까? 예, 사용자 정의 빌드 팩을 사용하여 Heroku에 PHP 확장을 설치할 수 있습니다. BuildPack은 변경 사항을 플랫폼으로 밀면 Heroku가 실행하는 스크립트입니다. 응용 프로그램의 환경을 설정하고 종속성을 설치해야합니다.
사용자 정의 빌드 팩을 사용하려면 'app.json'파일 또는 Heroku 대시 보드에 지정해야합니다. 예를 들어 'Heroku/Php'BuildPack을 사용하려면 'App.json'파일이 다음과 같습니다. "url": "Heroku/Php"} }
BuildPack을 지정한 후 변경 사항을 푸시 할 수 있습니다. 헤로쿠에게. Heroku는 자동으로 BuildPack을 실행하고 지정된 PHP 확장을 설치합니다.
Heroku에 PHP 확장을 설치할 때 문제를 해결할 수있는 방법은 무엇입니까?
Heroku에 PHP 확장을 설치할 때 문제를 해결할 때 문제를 해결할 수 있습니다. 그러나 사용할 수있는 몇 가지 전략이 있습니다. 먼저, 오류 메시지는 Heroku 로그를 확인할 수 있습니다. 터미널에서 'Heroku logs'명령을 실행하여 로그에 액세스 할 수 있습니다. 로그는 문제의 원인에 대한 단서를 제공 할 수 있습니다.
둘째, 'Heroku Run'명령을 사용하여 Heroku 앱에서 직접 명령을 실행할 수 있습니다. 예를 들어 'PHP -M'명령을 실행하여 설치된 모든 PHP 확장자를 나열 할 수 있습니다. 이렇게하면 특정 확장이 설치되어 있는지 여부를 확인하는 데 도움이 될 수 있습니다.
마지막으로 'Heroku Config'명령을 사용하여 Heroku 앱의 구성을 확인할 수 있습니다. 이것은 사용자 정의 php.ini 설정이 적용되는지 여부를 확인하는 데 도움이 될 수 있습니다.
Heroku의 PECL 저장소에서 사용할 수없는 PHP 확장 기능을 설치할 수 있습니까?
불행히도 설치할 수 없습니다. Heroku의 PECL 저장소에서 사용할 수없는 PHP 확장. Heroku는 PECL 저장소를 사용하여 PHP 확장을 설치합니다. PECL 저장소에서 확장을 사용할 수없는 경우 Heroku에 설치할 수 없습니다. 그러나 Custom BuildPack을 사용하여 PECL 저장소에서 사용할 수없는 PHP 확장 기능을 설치할 수 있습니다. 맞춤형 빌드 팩에는 소스에서 PHP 확장을 컴파일하고 설치하는 스크립트가 포함될 수 있습니다. 이를 위해서는 PHP 및 Unix Shell 스크립팅에 대한 고급 지식이 필요합니다.
Heroku에 PHP 확장이 설치되어 있는지 여부를 어떻게 확인할 수 있습니까?
Heroku에 PHP 확장이 설치되어 Heroku 앱의 'PHP -M'명령. 이 명령에는 설치된 모든 PHP 확장이 나열되어 있습니다. 터미널에서 'Heroku Run'명령을 사용 하여이 명령을 실행할 수 있습니다. 예를 들어, 다음 명령을 실행하여 설치된 모든 PHP 확장을 나열하기 위해 다음 명령을 실행할 수 있습니다.
Heroku run php -m 확장이 설치되면 설치된 PHP 확장 목록에 나타납니다.
Heroku에 여러 PHP 확장을 설치할 수 있습니까? 예, Heroku에 여러 PHP 확장을 설치할 수 있습니다. 이렇게하려면 'Composer.json'파일에 설치하려는 모든 확장자를 지정해야합니다. 예를 들어 'GD'및 'mbstring'확장자를 설치하려면 'composer.json'파일이 다음과 같습니다. -gd ":"*", "ext-mbstring ":"*"}
업데이트 후 ‘Composer.json’파일, 터미널에서‘Composer Update’명령을 실행해야합니다. ‘composer.lock’파일을 업데이트합니다. 'composer.json'과 'composer.lock'파일을 모두 git 저장소에 커밋해야합니다. 마지막으로 'Git Push Heroku Master'명령을 사용하여 변경 사항을 Heroku로 밀어 넣을 수 있습니다. Heroku는 'composer.json'파일에 지정된 PHP 확장자를 자동으로 설치합니다.
'php.ini'파일을 사용하여 Heroku에 php 확장자를 설치할 수 있습니까?
아니요. 'php.ini'파일을 사용하여 Heroku에 PHP 확장을 설치하십시오. Heroku는 PHP 확장을 설치하기위한 'php.ini'파일을 지원하지 않습니다. 대신 설치하려는 PHP 확장을 지정하려면 'Composer.json'파일을 사용해야합니다. Heroku는 변경 사항을 플랫폼으로 푸시 할 때 'Composer.json'파일에 지정된 PHP 확장 기능을 자동으로 설치합니다.