pHP 명령 줄 (CLI) 매개 변수의 설명 인터랙티브 쉘 모드에서 PHP의 설명이 내장 된 웹 서버를 찾아서 PHP 구성 파일을 찾으십시오.
- 구문 검사
- 명령줄 스크립트 개발
- PHP는 일반적으로 웹 서버에서 PHP를 실행하고 브라우저를 사용하여 액세스합니다. 따라서 명령줄 작업 및 관련 매개변수 사용에는 거의 주의를 기울이지 않습니다. 그러나 특히 Unix 계열 운영 체제에서는 PHP를 스크립트 언어로 사용하여 쉘과 유사한 처리 작업을 수행할 수 있습니다. php 명령줄(CLI) 매개변수에 대한 자세한 설명
- PHP의 모든 명령줄 매개변수를 보려면 php -h 명령을 사용하세요. PHP의 기능에 대한 이해를 깊게 하고, 서버 명령줄에서 PHP를 보다 빠르게 사용하거나, 환경에 익숙하지 않아 발생하는 다양한 문제를 디버깅하기 위해 일반적으로 사용되는 대부분의 명령줄 매개변수를 하나씩 설명합니다.
-a 以交互式shell模式运行 -c | 指定php.ini文件所在的目录 -n 指定不使用php.ini文件 -d foo[=bar] 定义一个INI实体,key为foo,value为'bar' -e 为调试和分析生成扩展信息 -f 解释和执行文件. -h 打印帮助 -i 显示PHP的基本信息 -l 进行语法检查 (lint) -m 显示编译到内核的模块 -r 运行PHP代码,不需要使用标签 ..?> -B 在处理输入之前先执行PHP代码 -R 对输入的没一行作为PHP代码运行 -F Parse and execute for every input line -E Run PHP after processing all input lines -H Hide any passed arguments from external tools. -S : 运行内建的web服务器. -t 指定用于内建web服务器的文档根目录 -s 输出HTML语法高亮的源码 -v 输出PHP的版本号 -w 输出去掉注释和空格的源码 -z 载入Zend扩展文件 . args... 传递给要运行的脚本的参数. 当第一个参数以-开始或者是脚本是从标准输入读取的时候,使用--参数 --ini 显示PHP的配置文件名 --rf 显示关于函数 的信息. --rc 显示关于类 的信息. --re 显示关于扩展 的信息. --rz 显示关于Zend扩展 的信息. --ri 显示扩展 的配置信息.
PHP 명령의 모든 매개변수와 해당 설명이 위에 나열되어 있습니다. 다음으로 더 일반적으로 사용되는 매개변수의 예를 제공하겠습니다. 대화형 셸 모드에서 PHP 실행
Python을 사용해 본 친구들은 Python의 대화형 셸에 익숙합니다. 명령줄에서 python 명령을 직접 입력하면 Python 대화형 셸 프로그램이 시작됩니다. 다음으로 일부 컴퓨팅 작업을 수행할 수 있습니다. 대화형으로 수행됩니다. PHP 명령줄에서도 유사한 기능이 제공됩니다. -a 매개변수를 사용하여 대화형 셸 모드로 들어갑니다.
이 셸에서는 항상 새 PHP 파일을 만들지 않고도 몇 가지 간단한 작업을 수행할 수 있습니다. - 자세한 지침은 공식 문서를 참조하세요. 내장 웹 서버 실행
$ ls index.php $ cat index.php <?php echo "Hello, PHPER!";
이 디렉터리에서 다음 명령을 실행하여 내장 웹 서버를 시작하고 기본적으로 현재 디렉터리를 작업 디렉터리로 사용합니다
$ php -S localhost:8000 PHP 5.6.3 Development Server started at Wed Jun 10 15:49:41 2015 Listening on http://localhost:8000 Document root is /Users/mylxsw/codes/php/aicode/demo Press Ctrl-C to quit.
다른 쉘 창을 열고 http://localhost:8000을 요청합니다. / 보시려면 스크립트 출력으로 가세요
$ curl -is http://localhost:8000/
HTTP/1.1 200 OK
Host: localhost:8000
Connection: close
X-Powered-By: PHP/5.6.3
Content-type: text/html;
Hello, PHPER!
웹 서비스가 실행되는 창에서 출력 로그 정보를 보실 수 있습니다위에서 내장 서버를 시작할 때 -S 매개변수만 지정해 놓았는데요. PHP는 웹 서버로 실행됩니다. 이때 PHP는 현재 디렉터리를 작업 디렉터리로 사용하므로 현재 디렉터리로 돌아가서 요청한 파일을 찾을 수도 있습니다. -t 매개변수를 사용하여 다른 디렉터리를 작업 디렉터리로 지정할 수도 있습니다. (문서 루트 디렉터리). 자세한 내용은 공식문서를 참고해주세요. PHP 구성 파일 찾기때때로 서버에 소프트웨어를 설치하는 혼란으로 인해 여러 버전의 PHP 환경을 설치했을 수 있습니다. 현재로서는 PHP 프로그램이 어떤 구성 파일을 사용하는지 확인하기가 더 어렵습니다. . 중요합니다. PHP 명령줄 매개변수에는 –ini 매개변수가 제공됩니다. 이 매개변수를 사용하면 현재 PHP 구성 파일 정보를 나열할 수 있습니다. $ php --ini Configuration File (php.ini) Path: /usr/local/etc/php/5.6 Loaded Configuration File: /usr/local/etc/php/5.6/php.ini Scan for additional .ini files in: /usr/local/etc/php/5.6/conf.d Additional .ini files parsed: (none) $ /usr/local/php/bin/php --ini Configuration File (php.ini) Path: /usr/local/php/etc/ Loaded Configuration File: /usr/local/php/etc/php.ini Scan for additional .ini files in: (none) Additional .ini files parsed: (none)
위 서버에는 두 가지 버전의 PHP가 설치되어 있습니다. 위에서 볼 수 있듯이 php –ini 명령을 사용하면 현재 PHP 명령이 사용할 구성 파일을 쉽게 찾을 수 있습니다.
클래스/함수/확장 정보 보기
일반적으로 웹 서버의 php –info 명령을 사용하거나 php 프로그램의 phpinfo() 함수를 사용하여 php 정보를 표시한 후 관련 클래스, 확장 또는 함수를 찾을 수 있습니다. 정보, 정말 귀찮습니다.$ php --info | grep redis redis Registered save handlers => files user redis This program is free software; you can redistribute it and/or modify다음 매개변수를 사용하면 이 정보를 더 편리하게 볼 수 있습니다
--rf 显示关于函数 的信息. --rc 显示关于类 的信息. --re 显示关于扩展 的信息. --rz 显示关于Zend扩展 的信息. --ri 显示扩展 的配置信息.예를 들어 확장 redis의 구성 정보를 보고 싶습니다
$ php --ri redis redis Redis Support => enabled Redis Version => 2.2.7
redis 클래스의 정보 보기
$ php --rc redis Class [ class Redis ] { - Constants [19] { Constant [ integer REDIS_NOT_FOUND ] { 0 } ... - Methods [201] { ... Method [ public method echo ] { } ...보기 printf
$ php --rf printf
Function [ function printf ] {
- Parameters [2] {
Parameter #0 [ $format ]
Parameter #1 [ ...$args ]
}
}
함수 정보 printf$ php -l index.php No syntax errors detected in index.phpSyntax Check때로는 일부 편집기나 IDE에서 PHP 파일에 구문 오류가 있는지 확인하는 등 PHP 스크립트를 실행하지 않고 PHP 스크립트에 구문 오류가 있는지만 확인하면 되는 경우가 있습니다. PHP 파일에서만 구문 검사를 수행하려면 -l(--syntax-check)을 사용하세요.
$ php -l index.php PHP Parse error: syntax error, unexpected 'echo' (T_ECHO) in index.php on line 3 Parse error: syntax error, unexpected 'echo' (T_ECHO) in index.php on line 3 Errors parsing index.php지금 index.php에 구문 오류가 있다고 가정해 보세요
<?php echo '命令行参数个数: ' . $argc . "n"; echo "命令行参数:n"; foreach ($argv as $index => $arg) { echo " {$index} : {$arg}n"; }명령줄 스크립트 개발PHP를 사용하여 명령줄 스크립트를 개발하는 것은 웹 프로그램 개발과 확실히 다릅니다. URL의 매개변수를 변경하여 PHP 환경에 다른 입력을 제공할 수 있지만 명령줄 스크립트 프로그램에서 외부 입력을 얻는 방법은 무엇입니까?
在使用C语言开发程序时,我们通常会在main函数中提供两个可选的参数int main(int argc, char *argv[]),这两个参数就是从命令行提供的输入参数。在PHP中,提供了两个全局变量$argc和$argv用于获取命令行输入。
$argc 包含了 $argv数组包含元素的数目
$argv 是一个数组,包含了提供的参数,第一个参数总是脚本文件名称
假设我们有一个名为console.php的命令行脚本文件
<?php echo '命令行参数个数: ' . $argc . "n"; echo "命令行参数:n"; foreach ($argv as $index => $arg) { echo " {$index} : {$arg}n"; }
在命令行下执行该脚本
$ php console.php hello world 命令行参数个数: 3 命令行参数: 0 : console.php 1 : hello 2 : world
可以看到,第0个参数是我们执行的脚本名称。需要注意的是,如果提供的第一个参数是以-开头的话,需要在前面增加–,以告诉php这后面的参数是提供给我们的脚本的,而不是php执行文件的(php -r ‘var_dump($argv);’ — -h)。
另外,在脚本中,我们可以通过php_sapi_name()函数判断是否是在命令行下运行的
$ php -r 'echo php_sapi_name(), PHP_EOL;' cli
参考文献
Using PHP from the command line
위 내용은 PHP 명령줄의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

데이터베이스 스토리지 세션 사용의 주요 장점에는 지속성, 확장 성 및 보안이 포함됩니다. 1. 지속성 : 서버가 다시 시작 되더라도 세션 데이터는 변경되지 않아도됩니다. 2. 확장 성 : 분산 시스템에 적용하여 세션 데이터가 여러 서버간에 동기화되도록합니다. 3. 보안 : 데이터베이스는 민감한 정보를 보호하기 위해 암호화 된 스토리지를 제공합니다.

SessionHandlerInterface 인터페이스를 구현하여 PHP에서 사용자 정의 세션 처리 구현을 수행 할 수 있습니다. 특정 단계에는 다음이 포함됩니다. 1) CustomsessionHandler와 같은 SessionHandlerInterface를 구현하는 클래스 만들기; 2) 인터페이스의 방법 (예 : Open, Close, Read, Write, Despare, GC)의 수명주기 및 세션 데이터의 저장 방법을 정의하기 위해 방법을 다시 작성합니다. 3) PHP 스크립트에 사용자 정의 세션 프로세서를 등록하고 세션을 시작하십시오. 이를 통해 MySQL 및 Redis와 같은 미디어에 데이터를 저장하여 성능, 보안 및 확장 성을 향상시킬 수 있습니다.

SessionId는 웹 애플리케이션에 사용되는 메커니즘으로 사용자 세션 상태를 추적합니다. 1. 사용자와 서버 간의 여러 상호 작용 중에 사용자의 신원 정보를 유지하는 데 사용되는 무작위로 생성 된 문자열입니다. 2. 서버는 쿠키 또는 URL 매개 변수를 통해 클라이언트로 생성하여 보낸다. 3. 생성은 일반적으로 임의의 알고리즘을 사용하여 독창성과 예측 불가능 성을 보장합니다. 4. 실제 개발에서 Redis와 같은 메모리 내 데이터베이스를 사용하여 세션 데이터를 저장하여 성능 및 보안을 향상시킬 수 있습니다.

JWT 또는 쿠키를 사용하여 API와 같은 무국적 환경에서 세션을 관리 할 수 있습니다. 1. JWT는 무국적자 및 확장 성에 적합하지만 빅 데이터와 관련하여 크기가 크다. 2. 쿠키는보다 전통적이고 구현하기 쉽지만 보안을 보장하기 위해주의해서 구성해야합니다.

세션 관련 XSS 공격으로부터 응용 프로그램을 보호하려면 다음 조치가 필요합니다. 1. 세션 쿠키를 보호하기 위해 Httponly 및 Secure 플래그를 설정하십시오. 2. 모든 사용자 입력에 대한 내보내기 코드. 3. 스크립트 소스를 제한하기 위해 컨텐츠 보안 정책 (CSP)을 구현하십시오. 이러한 정책을 통해 세션 관련 XSS 공격을 효과적으로 보호 할 수 있으며 사용자 데이터가 보장 될 수 있습니다.

PHP 세션 성능을 최적화하는 방법 : 1. 지연 세션 시작, 2. 데이터베이스를 사용하여 세션을 저장, 3. 세션 데이터 압축, 4. 세션 수명주기 관리 및 5. 세션 공유 구현. 이러한 전략은 높은 동시성 환경에서 응용의 효율성을 크게 향상시킬 수 있습니다.

THESESSION.GC_MAXLIFETIMESETTINGINSTTINGTINGSTINGTERMINESTERMINESTERSTINGSESSIONDATA, SETINSECONDS.1) IT'SCONFIGUDEDINPHP.INIORVIAINI_SET ()

PHP에서는 Session_Name () 함수를 사용하여 세션 이름을 구성 할 수 있습니다. 특정 단계는 다음과 같습니다. 1. Session_Name () 함수를 사용하여 Session_Name ( "my_session")과 같은 세션 이름을 설정하십시오. 2. 세션 이름을 설정 한 후 세션을 시작하여 세션을 시작하십시오. 세션 이름을 구성하면 여러 응용 프로그램 간의 세션 데이터 충돌을 피하고 보안을 향상시킬 수 있지만 세션 이름의 독창성, 보안, 길이 및 설정 타이밍에주의를 기울일 수 있습니다.


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

드림위버 CS6
시각적 웹 개발 도구

WebStorm Mac 버전
유용한 JavaScript 개발 도구

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)
