PHP
| PHP Basic
PHP Forms
PHP Advanced
PHP Database
PHP XML
PHP and AJAX
PHP Examples
PHP Reference
|
Categories
- Alternative PHP Cache (APC)
- Suhosin
- Laravel
- QuickPHP
- phpenv - 가상환경
- Composer - 패키지 관리자
- FrankenPHP - Go로 작성한 모던 PHP 앱 서버
Libraries
- php-crud-api - 파일1개로 DB에 REST API 추가하기
- slime - A small api framework with Slim v3 +Eloquent, to create easily Restful services
ETC
- php-node - Node.js내에서 PHP HTTP 요청을 처리하는 핸들러
Functions
-
get_current_user(): 현재 PHP 스크립트 소유자의 이름을 반환합니다. -
var_dump($var): 이 함수는 형과 값을 포함하는 하나 이상의 표현을 구조화된 정보로 보여줍니다. 배열과 객체는 구조를 보여주기 위해서 재귀적으로 확장합니다. -
is_writable($filename): Returns TRUE if the filename exists and is writable. -
posix_getuid(): Return the numeric real user ID of the current process. -
debug_print_backtrace(): prints a PHP backtrace.
How to instasll
- See also: MediaWiki:Install#CentOS_7
Install PHP:
MySQL module:
Common PHP modules:
$ yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel
Ubuntu
sudo apt-get install apache2 libapache2-mod-php5
## libapache2-mod-php5 provides the following PHP extensions: bcmath bz2 calendar Core ctype date dba dom ereg exif fileinfo filter ftp gettext hash iconv libxml mbstring mhash openssl pcre Phar posix Reflection session shmop SimpleXML soap sockets SPL standard sysvmsg sysvsem sysvshm tokenizer wddx xml xmlreader xmlwriter zip zlib.
Recommended Modules:
$ apt-get install php5-gd php5-json php5-mysql php5-curl
$ apt-get install php5-intl php5-mcrypt php5-imagick
Configuration
PHP 환경설정 방법에 대한 내용을 정리한다.
PHP 설정파일 정보 획득 방법
PHP의 INI파일 정보 등을 획득할 수 있다.
PHP 파일 업로드 용량 설정
php.ini파일의 아래 변수를 수정하면 된다. 1
PHP 짧은 태그 허용하기
<? ... ?>와 같이 짧은 태그를 허용하지 않는 것이 PHP 설정 기본값임. 짧은 태그 표현은 아래와 같은 XML 표현과 겹치기 때문에 권장하는 않는다.
- <code><?xml version="1.0" encoding="UTF-8"?>
</code>
그래도 짧은 태그를 쓰려면 아래의 방법대로 하면 된다.
register_globals
rester_globals를 ON으로 하면 변수가 get, post, session 변수인지 체크하지 않아도 된다. 쓰기에 따라서 보안적인 부분에 문제가 생길 수 있다.
-
register_globals = on- 가능:
$_POST['u_id'] - 가능:
$u_id
- 가능:
register_globals = off- 가능:
$_POST['u_id'] - 불가능:
$u_id -
extrract()로 처리하면 가능하다.
How to install extension libraries
- Pecl Intl
- Installing/enabling PHP Pecl Intl extension on CentOs 5
-
yum install php-intl
- PHP sqlite3
- Not Installing Sqlite 3 on CentOS correctly
-
yum install php-pdo
Troubleshooting
PHP사용중 발생할 수 있는 문제점 해결방법에 대하여 정리한다.
Fatal exception of type MWException Error
상세한 에러 로그를 출력하기 위해서 아래와 같이 Setting 변수를 추가한다.
Not working phpinfo()
아래와 같이 phpinfo()함수를 사용할 수 있다.
하지만 정상적으로 출력되지 않을 경우 아래와 같이 변경하면 된다.
See also
Favorite site
- php website
- PHP 매뉴얼
- Alternative PHP Cache 설치 방법
- PECL 설치 방법
- PHP 가속 APC(Alternative PHP Cache), XCache 환경 구축
- [추천] 다우니와 함께하는 PHP 따라잡기
PHP Framwork
PHP Security
- 반드시 알아아 할 PHP 보안 30 가지
- 리눅스 php 보안 2
- KLDP: PHP의 한 Security담당자가 결국 독한마음먹고 사임하기로 했답니다 3
- PHP에서 보안 문제를 해결하는 법 : 항상 위협이 되는 SQLi, XSS & CSRF 살펴보기
- PHP 로그인(login) 프로그램 구현
- PHP 웹 보안 취약점 TOP5(웹해킹)
- 반드시 알아아 할 PHP 보안 20 가지
- PHP Manual 데이터베이스 보안
- KLDP: PHP의 한 Security담당자가 결국 독한마음먹고 사임하기로 했답니다
- KLDP: 조사 결과 PHP 보안은 해결 불가능으로 결론
PEAR and PECL
- Installing PEAR on OSX 10.9 Mavericks and OSX10.8/10.7
- Install PEAR and PECL on Mac OS X
- Install PECL on Mac OS X 10.6
PHP Install
- PHP 5.3/5.4/5.5 for OS X 10.6/10.7/10.8/10.9 as binary package
- $PHP_AUTOCONF errors on mac os x 10.7.3 when trying to install pecl extensions
- [추천] Compiling 64-bit Apache/PHP on Mac OS X 10.5.6
- Eclipse 에 PHP Development Tool(PDT) 붙이기
Debugging
Article
- [http://haah.kr/2020/10/24/php-annotated-october-2020/](http://haah.kr/2020/10/24/php-annotated-october-2020/) (한글 번역)
- 하이브리드 PHP의 부상: PHP와 Go, Rust의 결합 | GeekNews
- [원문] yekdeveloper - The Rise of Hybrid PHP: Blending PHP with Go and Rust
- 최근 PHP 모놀리식 구조 내에서 Go와 Rust를 확장 언어로 통합하는 하이브리드 방식이 주목받음
- 예전엔 Go 마이크로서비스 와 PHP 8.3 모놀리식의 조합으로 생산성과 고성능을 균형 있게 달성함
- Pareto 법칙(80% 트래픽이 20% API에 집중) 에 따라 핫스팟 엔드포인트 최적화가 필수였고, 과거에는 캐싱·Go 서비스 분리로 대응했으나 복잡성이 증가함
- 최근 PHP 생태계 발전으로 FFI, Rust 확장, Go 확장(FrankenPHP) 같은 기법이 등장해 모놀리식 내부에서 성능을 대폭 높일 수 있게 됨
- Rust 확장은 메모리 안전성과 속도를 동시에 제공하고, FrankenPHP는 워커 모드와 Go 기반 확장으로 최대 4배 이상 성능 향상을 보여줌
- 전체를 Go/Rust로 재작성하는 비용·위험을 피하면서, 하이브리드 PHP 접근으로 생산성과 속도 모두 확보 가능