Skip to content

PHP

PHP Tutorial

PHP Basic

  • PHP HOME
  • PHP Intro
  • PHP Install
  • PHP Syntax
  • PHP Variables
  • PHP Echo / Print
  • PHP Data Types
  • PHP String Functions
  • PHP Constants
  • PHP Operators
  • PHP If...Else...Elseif
  • PHP Switch
  • PHP While Loops
  • PHP For Loops
  • PHP Functions
  • PHP Arrays
  • PHP Sorting Arrays
  • PHP Superglobals

PHP Forms

  • PHP Form Handling
  • PHP Form Validation
  • PHP Form Required
  • PHP Form URL/E-mail
  • PHP Form Complete

PHP Advanced

  • PHP Arrays Multi
  • PHP Date
  • PHP Include
  • PHP File
  • PHP File Upload
  • PHP Cookies
  • PHP Sessions
  • PHP E-mail
  • PHP Secure E-mail
  • PHP Error
  • PHP Exception
  • PHP Filter

PHP Database

  • PHP MySQL Intro
  • PHP MySQL Connect
  • PHP CREATE DB/Table
  • PHP INSERT INTO
  • PHP SELECT
  • PHP WHERE
  • PHP ORDER BY
  • PHP UPDATE
  • PHP DELETE
  • PHP ODBC

PHP XML

  • XML Expat Parser
  • XML DOM
  • XML SimpleXML

PHP and AJAX

  • AJAX Intro
  • AJAX PHP
  • AJAX Database
  • AJAX XML
  • AJAX Live Search
  • AJAX RSS Reader
  • AJAX Poll

PHP Examples

  • PHP Examples
  • PHP Quiz
  • PHP Certificate

PHP Reference

  • PHP Array
  • PHP Calendar
  • PHP Date
  • PHP Directory
  • PHP Error
  • PHP Filesystem
  • PHP Filter
  • PHP FTP
  • PHP HTTP
  • PHP Libxml
  • PHP Mail
  • PHP Math
  • PHP Misc
  • PHP MySQLi
  • PHP SimpleXML
  • PHP String
  • PHP XML
  • PHP Zip
  • PHP Timezones

Categories

Libraries

  • php-crud-api - 파일1개로 DB에 REST API 추가하기
  • slime - A small api framework with Slim v3 +Eloquent, to create easily Restful services

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:

$ yum -y install php
## For developer:
$ yum -y install php-devel

MySQL module:

$ yum -y install php-mysql

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 --ini | grep "Loaded Configuration File:"

PHP 파일 업로드 용량 설정

php.ini파일의 아래 변수를 수정하면 된다. 1

post_max_size = 100M
memory_limit = 100M
upload_max_filesize = 100M

PHP 짧은 태그 허용하기

와 같이 짧은 태그를 허용하지 않는 것이 PHP 설정 기본값임. 짧은 태그 표현은 아래와 같은 XML 표현과 겹치기 때문에 권장하는 않는다.

  • <code><?xml version="1.0" encoding="UTF-8"?>

    </code>

그래도 짧은 태그를 쓰려면 아래의 방법대로 하면 된다.

short_open_tag = On

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 변수를 추가한다.

$wgShowExceptionDetails = true;

Not working phpinfo()

아래와 같이 phpinfo()함수를 사용할 수 있다.

<? phpinfo(); ?>

하지만 정상적으로 출력되지 않을 경우 아래와 같이 변경하면 된다.

<?php phpinfo(); ?>

See also

Favorite site

PHP Framwork

PHP Security

PEAR and PECL

PHP Install

Debugging

Article

References


  1. /etc/php.ini 또는 /etc/php5/apache2/php.ini 등에 위치한다. 

  2. Linux_php_security.pdf 

  3. http://suhosin.org/stories/index.html