- php 에서 javascript 코드 실행법
* phpv8 / v8js
https://pecl.php.net/package/v8js
https://github.com/phpv8/v8js
- v2.1.1 , 2019/7
- php 7.3까지 지원
- V8 엔진, V8 Javascript Engine library (libv8)
https://github.com/v8/v8
//-------------------------------
* 윈도우에 v8js extension 설치
https://www.apachelounge.com/viewtopic.php?t=6359
- 이 사이트에서 php 7.3 다운로드
https://windows.php.net/download/
https://phpdev.toolsforresearch.com/php-7.3.16-Win32-VC15-x64.zip
- php의 거의 모든 extesion이 컴파일 되어있다.
- 압축을 푼 root폴더의 5개 dll 파일이 v8js 실행에 필요
icui18n.dll, icuuc.dll , v8.dll , v8_libbase.dll , v8_libplatform.dll
- php.ini 수정
extension=php_v8js.dll
//------------------
예제)
$snapshot = \V8Js::createSnapshot(
'var jsDup = arr => { var arr2 = [...arr, ...arr]; return JSON.stringify(arr2); }'
);
$jscript = new \V8Js('php', array(), array(), true, $snapshot);
echo $jscript->executeString('jsDup([1,2,3])') . "\n";
//------------------------------
* 리눅스에 v8js 설치 방법
https://github.com/phpv8/v8js/blob/php7/README.Linux.md
- v8js extension 을 설치하기 위해서는 v8 library가 필요
- 라이브러리 컴파일이 너무 오래 걸림
'Code > PHP' 카테고리의 다른 글
[워드프레스] insites 테마 세부 설정 (0) | 2020.08.02 |
---|---|
[php] 워드프레스 설치 (0) | 2020.07.31 |
[PHP] underscore(lodash) 같은 라이브러리 (0) | 2020.04.05 |
[php] PCNTL ( Process Control) 확장 사용법 예제 (0) | 2020.03.25 |
php 7.3 PCNTL 확장 기능 활성화 방법 (0) | 2020.03.24 |