Q&A ~ PHP
- 設定
-
PHPを実行中するとメモリ不足
phpスクリプトを稼働していますが、エラーで止まります。
PHPのエラーログ、又はApccheのerror_logを確認すると以下のPHPのメモリ不足のエラーがあります。
Allowed memory size of 16777216 bytes exhausted (tried to allocate 2 bytes) -
mbstring系の関数が使えない
mb_string系の関数、たとえばmb_ereg_replace()やmb_ereg()、mb_split()、mb_send_mail()等が使えません。
エラー情報では、undefined function と表示されます。 -
Fatal error:Allowed memory size of XX bytes exhausted (tried to allocate 
Fatal error:Allowed memory size of 16777216 bytes exhausted (tried to allocate 2 bytes)とエラー表示される。
-
PHPからPDO経由でOracleに接続する
PHPからPDO経由でSID又はネットサービス名を使ってORACLEに接続するにはどうするか。
.../client/network/admin/tnsnames.ora
の設定の仕方はどうするか。
tnsnames.oraを使わないで接続するには。 -
レンタルサーバーでphp.iniファイルを変更できないがPHPの設定を変更したい
レンタルサーバーの制約でphp.iniファイルを変更できないがPHPの設定をしたい。
PHPスクリプトの実行ファイル内で設定を変える場合、PHPがモジュールで動作する場合、PHPがCGIで動作する場合でそれぞれどうすればよいか -
PHPのdefault_charsetを"no value"に設定するには
php.iniでdefault_charsetを指定しない場合、
以前は"no value"でしたが、最近は"UTF-8"になってしまいます。
そうするとHTTPヘッダ
Content-Type: text/html; charset=UTF-8
が送信され、
metaタグで指定したcharsetが無視されてしまいます。
echo '<meta charset="Shift-JIS">';//HTTPヘッダが優先されmetaタグは無視される
古いシステムを動かすためにdefault_charsetを"no value"に設定して、
HTTPヘッダでcharsetを送らないようにして、metaタグを有効にさせたいのですが、どう設定すればいいですか。 - ヘッダー
-
ベーシック認証をPHPで行うには
ベーシック認証をPHPで行いたいのですが、認証に3回失敗するまで入力できるようにしたい。
どうすればよいでしょうか。 -
PHPでセッションを使用しているページで、戻るボタンを押すとWEBページの有効期限が切れていますになるのを回避するには
PHPでセッションを使用しているページで、ブラウザの戻るボタンを押したり、History.back()で
「WEBページの有効期限が切ています」
になるのを回避するにはどうすればよいか。 -
PHPでヘッダーを取得するには
PHPでヘッダーを取得するには
getallheaders() 関数
$_SERVER 変数 - マルチバイト
-
マルチバイト文字列を指定バイト数でカットして取得
マルチバイト文字列を文字列数ではなく、指定バイト数でカットして取得するには
-
エンコード変換を行って日本語のメールを送信する
エンコード変換を行って日本語のメールを送信するには
mb_send_mail 関数 - PostgreSQL
-
phpからpostgresqlにラージオブジェクトを書き込むとエラー
以下のPHPソースで書き込むとpg_lo_writeでエラーが出ます。何故ですか?
<?php
$con = pg_connect ("dbname=testdb");
pg_exec ($con, "begin");
$oid = pg_lo_create ($con);
print $oid."\n";
$h = pg_lo_open ($con, $oid, "w");
print $h."\n";
pg_lo_write ($h, "large object data");
pg_lo_close ($h);
pg_exec ($con, "commit");
?> - その他
-
phpでBasic認証ユーザーを取得する
phpでBasic認証ユーザーを取得するには
-
PHPからPDFファイルを作成する
PHPからPDFファイルを作成する
-
変数に関する情報を表示するには
変数に関する情報を表示するには
var_dump
print_r -
PHPでエラーが発生しても無視するには
PHPでエラーが発生しても無視して実行するようにするには
エラー演算子(@) -
PHPのコマンドを、シェルやコマンドプロンプトから実行するには
PHPのコマンドを、シェルやコマンドプロンプトから実行するには?
また、phpファイルをシェルやコマンドプロンプトから実行するには?
phpを対話モードで実行するには?
phpinfo()関数を、phpファイルを使わずに実行するには?
php -r "PHPコマンド"
php -f "phpファイル名"
php -a
php -i -
暗号化、復号化したい
AES256で暗号化、復号化を行うには
openssl_encrypt
openssl_decrypt -
file_get_contentsでhttp、https通信する
file_get_contentsでhttp、httpsで通信するには。
・GET、POST
・基本認証
・クライアント証明書 -
setcookieでクッキーを設定しても$_COOKIE変数に設定されない
setcookie("a", time()+3600, "/");
echo $_COOKIE["a"];
を実行すると
Notice: Undefined index: a in a.php on line 2
エラーが表示され、
setcookieでクッキーを設定しても$_COOKIE変数に設定されていない。 -
cURLでHTTP、HTTPS通信する
phpのcURLでHTTP、HTTPS通信するには。
GET、POSTを行うには。 -
Chromeの SameSite Cookie の変更に対応する
カード決済や3Dセキュア等の決済連携でPOST値で戻ってくる場合に
ChromeのSameSite Cookie の変更に対応するには -
PHPでセッションを使用しているシステムで更新ボタン連打等でセッション変数が消える
PHPでセッションを使用しているシステムで更新ボタンを連打したりするとセッション変数が消える
-
phpMyAdminがとても遅い、重い
phpMyAdminがとても遅い、表示がとても重い
- MySQL
-
PHPからPDOでMySQLにSelect文を使う
PHPからPDOでMySQLにSelect文を使うには
-
PHPからPDOでMySQLにSelect文を使う(プリペアドステートメント)
PHPからPDOでMySQLにSelect文を使うには
-
PHPからPDOでMySQLにSelect文を使う(プリペアドステートメント)名前つきプレースフォルダ
PHPからPDOでMySQLにSelect文を使うには
-
PHPからPDOでMySQLにSelect文を使う(プリペアドステートメント)bindValue
bindValueを使って、PHPからPDOでMySQLにSelect文を使うには
-
PHPからPDOでMySQLにSelect文を使う(プリペアドステートメント)bindValue名前つきプレースフォルダ
bindValueを使って、PHPからPDOでMySQLにSelect文を使うには
-
PHPからPDOでMySQLにInsert文を使う その1
PHPからPDOでMySQLにInsert文を使うには
-
PHPからPDOでMySQLにInsert文を使う その2 プリペアドステートメント bindValue
PHPからPDOでMySQLにInsert文を使うには。
ただしbindValueを使用する。 -
PHPからPDOでMySQLにInsert文を使う その3 プリペアドステートメント bindValue名前付きプレースフォルダ
PHPからPDOでMySQLにInsert文を使うには。
ただしbindValueを名前付きプレースフォルダで使用する。 -
PHPからPDOでMySQLにSelect文を使う(条件を配列で渡す)
PHPからPDOでMySQLにSelect文を使うには(条件を配列で渡す)
-
PHPからmysqliでデータベースに接続する
PHPからmysqliでデータベースに接続するには
- クラス
-
PHPでクラスを使う場合の簡単なサンプル
PHPでクラスを使う場合の簡単なサンプルを掲示してください
- 基本
-
文字列の扱いについての基本
文字列の扱いについての基本は?
- 文字列関数
-
SPrintF関数や、VPrintF関数、PrintF関数で使用する文字列フォーマットについて
フォーマットのまとめ。
-
数字に1000単位でカンマを付け、小数点以下の桁数を指定して四捨五入した文字列の取得
数字に1000単位でカンマを付け、小数点以下の桁数を指定して四捨五入した文字列を取得するには
-
文字列の一部を取り出すには
文字列の一部を取り出すには。(SubStr関数)
-
文字列の前後にあるホワイトスペースを取り除くには
文字列の前後にあるホワイトスペースを取り除くには。
Trim、RTrim、LTrim関数 -
文字列を区切り文字で分割するには
CSVファイルなどのように、カンマで区切られた文字列から、カンマで分割した文字列を取得するには
Explode
preg_split
implode -
文字列を大文字に、文字列を小文字にするには
文字列のアルファベット小文字をアルファベット大文字に、文字列のアルファベット大文字をアルファベット小文字にするには
StrToUpper
StrToLower
mb_StrToUpper
mb_StrToLower -
カナを、全角かな、半角カナ等に変換するには
カナを、全角かな、半角かな等に変換するには
mb_Convert_Kana -
文字列を置換するには
検索文字列を置換した文字列を生成するには
str_replace - 日付・時刻
-
日付・時刻を形式を指定するには
日付・時刻を形式を指定するには
Date -
日付が存在するか調べるには
指定した年月日が存在する日付かどうか調べるには
CheckDate -
日付をFor文で1日ずつループで回すには
開始日と終了日を指定して日付をFor文で1日ずつループで回すには?
strtotime関数、
date関数 -
協定世界時や太平洋標準時や中部標準時などを日本標準時に変換する
協定世界時や太平洋標準時や中部標準時などを日本標準時に変換するには
- ファイル
-
ファイルにログを記録するには
SQL文などをログファイルに記録するには
file_put_contents - 配列
-
配列を作成するには
PHPで配列を作成するには
-
配列をソートするには
PHPで配列を並べ替え(ソート)するには
sort,rsort,asort,arsort,ksort,krsort -
JSON形式文字列のデコード、エンコード
JSON形式文字列のデコード、エンコードを行うには
json_decode
json_encode