>PHP 프레임워크 >Laravel >PHP7에 Stone을 설치하면 Laravel 프레임워크의 성능이 향상될 수 있습니다!

PHP7에 Stone을 설치하면 Laravel 프레임워크의 성능이 향상될 수 있습니다!

藏色散人
藏色散人앞으로
2020-11-06 15:34:162713검색

다음 칼럼에서는 Laravel에서 Laravel 프레임워크의 성능을 향상시키기 위해 PHP7에 Stone을 설치하는 방법을 소개하겠습니다. 도움이 필요한 친구들에게 도움이 되길 바랍니다!

PHP7에 Stone을 설치하면 Laravel 프레임워크의 성능이 향상될 수 있습니다!

PHP7에 Stone을 설치하면 Laravel 프레임워크의 성능이 크게 향상됩니다.

우리 모두 알고 있듯이 PHP 프레임워크가 무거울수록 성능은 저하됩니다. 왜냐하면 무거운 프레임워크는 많은 클래스, 메서드 및 메서드를 호출하기 때문입니다. 구문 분석 기능 중 사용자 정의로 인해 심각한 성능 저하가 발생합니다.

Laravel은 매우 인기 있는 PHP 프레임워크이지만 강력한 풀 스택 프레임워크이기도 합니다. 이 방법(https://xueyuanjun.com/post/2398.html)을 사용하여 Laravel의 성능을 테스트할 수 있습니다. 신청했는데 결과가 모두 만족스럽지 못하네요.

물론 Laravel에는 Slim과 유사한 마이크로 프레임워크인 Lumen이라는 자매 버전도 있습니다. 이 마이크로 프레임워크가 충분히 유용하다고 생각되면 Laravel을 대체하는 데 사용할 수 있습니다.

다행히 PHP7의 성능은 PHP5.6에 비해 거의 두 배나 향상되었으며 Facebook의 HHVM도 좋은 대안입니다. 따라서 가능하다면 최신 버전의 PHP를 사용하는 것이 좋습니다. 이점은 적지 않습니다.

그러나 Laravel과 같은 강력한 프레임워크의 경우 PHP7/HHVM을 사용하더라도 캐싱(예: memcached/redis 등)은 서버 부담을 완화할 수 있지만 속도만 향상시킬 뿐입니다. Eloquent ORM의 경우 이것은 매우 성능 집약적인 장소입니까, 아니면 영구적인 솔루션이 아닌 임시 솔루션입니까(물론 대신 DB Facade를 사용할 수 있습니다. 내 질문을 참조하십시오). 방법이 없습니까? (어떤 사람들은 opcache라고 하는데 Laravel 프레임워크에서는 잘 작동하지 않습니다.)

아니요! 스톤이 필요해요!

스톤이란 무엇인가요? 이것은 PHPHub에 있는 작성자의 게시물입니다(https://learnku.com/laravel/t/2092/5- Minutes-to-improve-the-performance-of-laravel-frame-more-than-10-times). 확인 Stone 프로젝트 주소(https://github.com/StoneGroup/stone) 및 문서(https://chefxu.gitbooks.io/stone-docs/content/)를 확인하세요.

다음은 PHP7의 설치 방법입니다.

제 테스트 환경은 Debian Linux 8 64-bit이며, OSX도 사용할 수 있습니다(Nginx 및 PHP7을 설치하려면 homebrew를 사용하세요. 다른 작업은 아래 참조). Windows는 그렇지 않습니다. 컴파일 확장 때문에 권장됩니다. 상대적으로 번거롭습니다.

Debian/Ubuntu/Linux mint를 사용하면 최신 버전의 Nginx, PHP7, MySQL/MariaDB가 포함된 dotdeb 소스를 사용할 수 있습니다. 물론 저는 OpenResty를 사용합니다. 설치 과정에 대해 자세히 설명하지 않겠습니다. Google에 문의하세요.

먼저 swoole 및 runkit 확장을 설치하세요.

pecl install swoole

여기서 PHP7의 함정은 PHP7이 이 소스에서 설치되면 PEAR가 최신 버전이 아니기 때문에 이 문제에 설명된 문제가 발생할 수 있다는 것입니다. 해결 방법:

wget http://pear.php.net/go-pear.phar
php go-pear.phar

이 기사를 작성할 당시, Runkit 확장은 일시적으로 PHP7을 지원하지 않으므로 pecl을 사용하여 설치하지 마십시오. 그렇지 않으면 컴파일 오류가 발생합니다. 그런데 누군가 사용할 수 있는 수정된 버전을 만들었습니다. 이 문제를 참조하세요.

설치 방법:

git clone https://github.com/runkit7/runkit7.git
cd runkit7
phpize
./configure
make
sudo make install

이제 두 확장 프로그램이 모두 성공적으로 설치되었습니다.

그런 다음 PHP7의 실제 경로를 기반으로 ini 파일을 작성하고 swoole 및 runkit을 로드합니다. Windows 또는 OSX의 경우 homebrew를 사용하여 설치하는 경우 php.ini를 직접 변경하면 됩니다.

Dotdeb 소스를 사용하여 설치된 PHP7의 경로는 /etc/php/7.0/이므로 관련 명령은 다음과 같습니다.

sudo echo extension=swoole.so >> /etc/php/7.0/cli/conf.d/20-swoole.ini
sudo echo extension=swoole.so >> /etc/php/7.0/fpm/conf.d/20-swoole.ini
sudo echo extension=runkit.so >> /etc/php/7.0/cli/conf.d/20-runkit.ini
sudo echo extension=runkit.so >> /etc/php/7.0/fpm/conf.d/20-runkit.ini

그런 다음 Stone:composer를 설치하려면 Stone/kernel:dev-master가 필요합니다. 작성 시 다음과 같이 말해야 합니다. 이 기사 작성 당시 작성자의 gitbook에 두 가지 오류가 있습니다.

1. Pecl을 pcel로 작성했습니다.

2. 여전히 이전 프로젝트의 주소인데, 이전 프로젝트에 회사에 대한 일부 정보가 포함되어 있었기 때문에 주소를 StoneGroup/stone으로 변경했다고 게시물에서 밝혔습니다.

Stone 문서를 참고할 때 우회를 피하기 위해 모든 사람은 이 글을 따라야 합니다. 작성자에게 피드백을 주었고 문제를 해결했습니다.

마지막으로 php-fpm을 다시 시작하고 php -m을 사용하여 이 두 확장이 성공적으로 로드되었는지 확인하세요.

다음 단계에서는 문서를 따르기만 하면 됩니다. 이제 Stone은 PHP7에 성공적으로 설치되었습니다. Stone을 시작하고 성능 향상을 즐겨보세요!

PS: 다른 유사한 프로젝트를 찾았지만 구현 세부 사항이 다릅니다. 관심이 있으시면 https://github.com/scil/LaravelFly

를 살펴보세요.

위 내용은 PHP7에 Stone을 설치하면 Laravel 프레임워크의 성능이 향상될 수 있습니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제