PHP 리눅스 쉘(터미널)에서 실행하는 4가지 방법
리눅스 환경에서 쉘에서 PHP를 실행하는 방법은 여러 가지가 있습니다.
cron 스케줄에 넣어 사용해야 되는 경우 유용 하죠~
선호 하는 방법은 php 전체 경로로 지정하는 첫번째 방식이 후에 php 버전이 변경 되었을때 대응하기가 더 편한 부분이 있습니다.
● CLI(Command Line Interface) 방식 실행
PHP CLI는 커맨드 라인에서 PHP 스크립트를 실행하기 위한 모드로서 직접 PHP를 실행하려면, 터미널에서 다음과 같이 명령어를 입력하면 됩니다. 이건 실행 권한 없이 처리 하는 방식.
보통 설치되는 경로는 /usr/bin 쪽에 있지만 시스템에 따라 다를 수 있습니다.
php실행파일 경로 php스크립트경로
예를 들면)
/usr/local/php7/bin/php /path/to/your/script.php
/usr/local/php8/bin/php /path/to/your/script.php
● PHP 스크립트에 실행 권한 부여
이건 사실상 위와 크게 다를 것은 없는데 방법은 배쉬셀(bash) 스크립트 만드는 것 처럼 사용 하는 것 입니다. 맨 위 줄에 실행할 것을 지정하고 그 아래 코드가 들어가는 방식이고 특이점은 실행 권한을 주는 것입니다.
1) bash 쉘 스크립트 작성 하는 것 처럼
#!/usr/bin/php
<?php
// PHP 코드
2) 그 후, 터미널에서 chmod 명령어를 사용해 실행 권한을 부여합니다.
chmod +x /path/to/your/script.php
3) 이제 스크립트를 직접 실행할 수 있습니다.
/path/to/your/script.php
● PHP 코드를 직접 입력
PHP CLI를 이용하면 PHP 코드를 직접 터미널에 입력해 실행할 수 있는데 간단하게 한줄로 실행 가능한 명령의 경우 `-r` 옵션을 사용해 PHP 코드를 직접 입력하면 됩니다.
아래의 예는 gd 라이브러를 사용할 수 있는지 보기 위한 것입니다.
# /usr/local/php82/bin/php -r 'phpinfo();' | grep gd
● PHP Interactive shell 사용
PHP CLI는 Interactive shell 모드를 사용할 수 있는데 `-a` 옵션으로 이 모드를 실행할 수 있고 이렇게 하면 PHP 코드를 한 줄씩 입력하면서 바로 결과를 확인할 수 있습니다. 요즘 nodejs 생각하면 됩니다.
# /usr/local/php83/bin/php -a
Interactive shell
php > echo date('Y-m-d');
2024-02-12
php > exit