PHP
をテンプレートにして作成
[
トップ
] [
タイトル一覧
|
ページ一覧
|
新規
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
** PHP: Hypertext Preprocessor [#k50e5340]
*** Links [#b2d61ed1]
- http://www.php.net/
- http://jp2.php.net/ (日本のミラーサイト)
- 日本PHPユーザー会 (Japan PHP User Group)
-- http://www.php.gr.jp/
- 非推奨関数とか,本当勘弁してもらいたい.C言語を見習え!
*** Version [#r6fc27c8]
- [[PHP7 >./PHP7]]
- [[PHP8 >./PHP8]]
*** Install [#g3ac2181]
- --enable-intl を指定する場合は libicu-devel (ユニコー...
- --enable-opcache OPCache 使用 (5.5.x~)
- MariaDBのライブラリに libmysqlclient を使用すると MYSQL...
-- DBのライブラリに mysqlnd を使用する
- OpenSSL-1.1.x を使用している場合
-- OpenSSL-1.1.x を使用している場合は, /usr/local/lib に...
-- OpenSSL-1.1.x を使用している場合は以下の様にしてから,...
cd /usr/local/ssl
ln -s /usr/local/include .
ln -s /usr/local/lib64 lib
cd (php-source)
- PHP-5.6 + OpenSSL-1.1 の場合は パッチを当てる.[[php56....
-- see also https://bugs.php.net/patch-display.php?bug_id...
**** configure [#la6d7565]
# zcat php-5.x.y.tar.gz |tar xfv -
# cd php-5.x.y
#./configure --with-mysql=mysqlnd --with-mysqli=mysqlnd ...
--with-apxs2=/usr/local/apache/bin/apxs \
--with-openssl=/usr/local/ssl --with-zlib=/...
--enable-mbstring --with-iconv --enable-int...
--enable-zip --enable-soap --enable-pcntl \
--enable-sockets --with-curl --with-xmlrpc ...
--with-gd --with-jpeg-dir --with-png-dir --...
# make
# make test
# make install
**** configure オプションの修正 [#u42ccc8f]
- PHP7 + OpenSSL1.1 の場合は --with-openssl=/usr/local
-- /usr/local/lib に openssl のライブラリが必要
- DBのライブラリに libmysqlclient を使用する場合は以下の...
--with-mysql=/usr/local/mysql --with-mysqli=/usr/local/m...
*** 設定 [#y94248ee]
**** Cache [#v59a24e5]
**** 設定ファイル [#pd46cce5]
- /usr/local/lib/php.ini
-- ソースディレクトリの php.ini-* をコピー
**** Short Open Tag [#u7a17883]
- <? ... ?>, <?=... > 等の Short Open Tag を有効にするに...
short_open_tag = On
*** Upload サイズを増やす
- php.ini
-- upload_max_filesiz
-- post_max_size
*** MySQL [#f960f3f5]
- 処理中の文字コードを UTF-8にする場合
mb_internal_encoding("utf-8");
mysql_set_charset('utf8');
または
mb_internal_encoding("utf-8");
mysql_query("SET NAMES utf8", $db);
- mb_internal_encoding("utf-8") は php.ini でも指定可能.
- SET NAMES utf8 でクエリの文字コードを指定可能.
*** PHP 関数拡張 [#q614929b]
- [[PHP Extension]]
- [[Sodium>PHP Extension/Sodium]]
*** Trouble Shooting [#t160986a]
**** エラーログ [#u1a71917]
- /etc/php.ini の error_log, log_errors で設定
- パーミッションに注意
log_errors = On
error_log = /var/log/php/php.log
- ただし php-fpm が動いている場合は,Web上でのエラーは er...
-- /var/log/php-fpm/www-error.log
-- どこで指定してるんだ! ぷんぷん!
-- /etc/php-fpm.d/www.conf
php_admin_value[error_log] = /var/log/php-fpm/www-error....
**** dl() でモジュールを呼んでくれない [#v9ecf83f]
- php.ini で enable_dl = On とする.
**** php.ini の設定が反映されない [#df20ad07]
- php -i |grep php.ini で PHPが実際に読み込んでいる php....
- PHPが WWWサーバのモジュールとしてではなく,php-fpm で動...
systemctl restart php-fpm
**** CetOS8 / Rocky Linux8 で PHPを 7.2から 7.4 にする [#...
dnf module list php
dnf module reset php
dnf module enable php:7.4 -y
yum erase php
yum install php --allowerasing
*** PHP errors [#yba82631]
**** opcache.so: undefined symbol: sapi_globals, opcache....
- yum でPHPを入れたまま,PHPの最新版をコンパイルして入れ...
- yum で 古いPHPを削除したところ発生しなくなった.
yum remove 'php-*'
**** doesn't appear to be a valid Zend extension [#e2c146...
- 5.6.3 で自作の拡張関数(.so)を読ませようとしたところ,...
- php.ini に zend_extension ではなく extension でモジュー...
- モジュールは /usr/local/lib/php/extensions/php_tuis_au...
- /usr/local/lib/php.ini
extension=php_tuis_auth.so
**** AH00052: child pid # exit signal Segmentation fault...
- PHP 5.5.12 で発生.
- PHP 5.6.3 にアップデータしたところ,エラーが出なくなる
- Apache のworkerの問題かも
**** Notice: Undefined index: [#c3c0d432]
- apacheと連携させて、次の様なエラーが出る時(一例)~
''Notice: Undefined index:''~
php.iniの
error_reporting = E_ALL
を
error_reporting = E_ALL & ~E_NOTICE
に変更。~
基本的には、エラー文の接頭語にあたる"※※※:"の※部分を"~E_※※...
~
- apacheと連携(ry(二例)~
"Deprecated: Assigning the ~"~
error_reporting = E_ALL
を
error_reporting = E_ALL & ~E_DEPRECATED
に変更。~
~
- apacheと(ry(三例)~
''Notice:''と''Deprecated:''の両方だと~
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
になる。問題先延ばしだが、開発者以外なら問題なかろう
終了行:
** PHP: Hypertext Preprocessor [#k50e5340]
*** Links [#b2d61ed1]
- http://www.php.net/
- http://jp2.php.net/ (日本のミラーサイト)
- 日本PHPユーザー会 (Japan PHP User Group)
-- http://www.php.gr.jp/
- 非推奨関数とか,本当勘弁してもらいたい.C言語を見習え!
*** Version [#r6fc27c8]
- [[PHP7 >./PHP7]]
- [[PHP8 >./PHP8]]
*** Install [#g3ac2181]
- --enable-intl を指定する場合は libicu-devel (ユニコー...
- --enable-opcache OPCache 使用 (5.5.x~)
- MariaDBのライブラリに libmysqlclient を使用すると MYSQL...
-- DBのライブラリに mysqlnd を使用する
- OpenSSL-1.1.x を使用している場合
-- OpenSSL-1.1.x を使用している場合は, /usr/local/lib に...
-- OpenSSL-1.1.x を使用している場合は以下の様にしてから,...
cd /usr/local/ssl
ln -s /usr/local/include .
ln -s /usr/local/lib64 lib
cd (php-source)
- PHP-5.6 + OpenSSL-1.1 の場合は パッチを当てる.[[php56....
-- see also https://bugs.php.net/patch-display.php?bug_id...
**** configure [#la6d7565]
# zcat php-5.x.y.tar.gz |tar xfv -
# cd php-5.x.y
#./configure --with-mysql=mysqlnd --with-mysqli=mysqlnd ...
--with-apxs2=/usr/local/apache/bin/apxs \
--with-openssl=/usr/local/ssl --with-zlib=/...
--enable-mbstring --with-iconv --enable-int...
--enable-zip --enable-soap --enable-pcntl \
--enable-sockets --with-curl --with-xmlrpc ...
--with-gd --with-jpeg-dir --with-png-dir --...
# make
# make test
# make install
**** configure オプションの修正 [#u42ccc8f]
- PHP7 + OpenSSL1.1 の場合は --with-openssl=/usr/local
-- /usr/local/lib に openssl のライブラリが必要
- DBのライブラリに libmysqlclient を使用する場合は以下の...
--with-mysql=/usr/local/mysql --with-mysqli=/usr/local/m...
*** 設定 [#y94248ee]
**** Cache [#v59a24e5]
**** 設定ファイル [#pd46cce5]
- /usr/local/lib/php.ini
-- ソースディレクトリの php.ini-* をコピー
**** Short Open Tag [#u7a17883]
- <? ... ?>, <?=... > 等の Short Open Tag を有効にするに...
short_open_tag = On
*** Upload サイズを増やす
- php.ini
-- upload_max_filesiz
-- post_max_size
*** MySQL [#f960f3f5]
- 処理中の文字コードを UTF-8にする場合
mb_internal_encoding("utf-8");
mysql_set_charset('utf8');
または
mb_internal_encoding("utf-8");
mysql_query("SET NAMES utf8", $db);
- mb_internal_encoding("utf-8") は php.ini でも指定可能.
- SET NAMES utf8 でクエリの文字コードを指定可能.
*** PHP 関数拡張 [#q614929b]
- [[PHP Extension]]
- [[Sodium>PHP Extension/Sodium]]
*** Trouble Shooting [#t160986a]
**** エラーログ [#u1a71917]
- /etc/php.ini の error_log, log_errors で設定
- パーミッションに注意
log_errors = On
error_log = /var/log/php/php.log
- ただし php-fpm が動いている場合は,Web上でのエラーは er...
-- /var/log/php-fpm/www-error.log
-- どこで指定してるんだ! ぷんぷん!
-- /etc/php-fpm.d/www.conf
php_admin_value[error_log] = /var/log/php-fpm/www-error....
**** dl() でモジュールを呼んでくれない [#v9ecf83f]
- php.ini で enable_dl = On とする.
**** php.ini の設定が反映されない [#df20ad07]
- php -i |grep php.ini で PHPが実際に読み込んでいる php....
- PHPが WWWサーバのモジュールとしてではなく,php-fpm で動...
systemctl restart php-fpm
**** CetOS8 / Rocky Linux8 で PHPを 7.2から 7.4 にする [#...
dnf module list php
dnf module reset php
dnf module enable php:7.4 -y
yum erase php
yum install php --allowerasing
*** PHP errors [#yba82631]
**** opcache.so: undefined symbol: sapi_globals, opcache....
- yum でPHPを入れたまま,PHPの最新版をコンパイルして入れ...
- yum で 古いPHPを削除したところ発生しなくなった.
yum remove 'php-*'
**** doesn't appear to be a valid Zend extension [#e2c146...
- 5.6.3 で自作の拡張関数(.so)を読ませようとしたところ,...
- php.ini に zend_extension ではなく extension でモジュー...
- モジュールは /usr/local/lib/php/extensions/php_tuis_au...
- /usr/local/lib/php.ini
extension=php_tuis_auth.so
**** AH00052: child pid # exit signal Segmentation fault...
- PHP 5.5.12 で発生.
- PHP 5.6.3 にアップデータしたところ,エラーが出なくなる
- Apache のworkerの問題かも
**** Notice: Undefined index: [#c3c0d432]
- apacheと連携させて、次の様なエラーが出る時(一例)~
''Notice: Undefined index:''~
php.iniの
error_reporting = E_ALL
を
error_reporting = E_ALL & ~E_NOTICE
に変更。~
基本的には、エラー文の接頭語にあたる"※※※:"の※部分を"~E_※※...
~
- apacheと連携(ry(二例)~
"Deprecated: Assigning the ~"~
error_reporting = E_ALL
を
error_reporting = E_ALL & ~E_DEPRECATED
に変更。~
~
- apacheと(ry(三例)~
''Notice:''と''Deprecated:''の両方だと~
error_reporting = E_ALL & ~E_NOTICE & ~E_DEPRECATED
になる。問題先延ばしだが、開発者以外なら問題なかろう
ページ名: