日記帳
本ページはプロモーションが含まれています
カテゴリー
Links
blog(ブログ)マスター
アンドロイドの巣
ゼロから始めるベランダ菜園
タイトル
2024年11月
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30

Search Results

[PHP8.0] Fatal error: Uncaught PDOException: could not find driver in php : PDO->__construct('sqlite:...')

執筆:2021.02.23
編集:2021.02.23


PHP7.4はスキップしたので
PHP8に対応させようとPHP8をインストール, phi.iniをコピペして、
php.ini-developmentと亀の差分表示機能で比較しながら編集保存。

そーれ! webいけーー!!

Fatal error: Uncaught PDOException: could not find driver in php : PDO->__construct('sqlite:...')

なーぜぇーー。(´;ω;`)ウゥゥ

"C:\...\php" -r "echo (new PDO('sqlite::memory:')?'OK!!':'NG');";
OK!!

うーん。

phpinfo();

Server API Apache 2.0 Handler

PDO
PDO support enabled
PDO drivers mysql
pdo_mysql
PDO Driver for MySQL enabled
Client API version mysqlnd 8.0.2

pdo_sqliteがない。


php -i
Server API => Command Line Interface

PDO Driver for SQLite 3.x => enabled
SQLite Library => 3.33.0

Server API Loaded Configuration File extension_dir
Apache 2.0 Handle 同じ値 同じ値
Command Line Interface

比較しても同じ値だし、読み込めないなら両方モジュールロードが失敗しないといけないし、Apacheで中途半端に読み込んでいるのもおかしい。

apacheのエラーログを見ると4個ロードに失敗していた。

PHP Warning: PHP Startup: Unable to load dynamic library 'curl' (tried: ) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'intl' (tried: ) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'pdo_sqlite' (tried: ) in Unknown on line 0
PHP Warning: PHP Startup: Unable to load dynamic library 'sqlite3' (tried: ) in Unknown on line 0

dir "パス" コマンドにいれると表示されるのでパスは間違っていないし、上記以外の他のモジュールはロードされている。

これは、php8apache2_4.dllやpdo_sqliteのバグということで今後のマイナーチェンジに期待。

apacheの本体を更新しないといけないのかもしれないが、確認・更新するのも面倒なので保留。
PHP8.1でも直らなかったら、apacheの更新をしてみようと思います。

せっかくPHP8.0を用意しているので
動作確認はしたい。

ということで
CGIモードに変更して対処
AddHandler php-script .php

開発環境だし
とりあえず、動くようになって、デバッグもできるのでいいとしよう。
カテゴリー: General
2021.02.23

Fatal error: Uncaught ValueError: mb_convert_kana(): Argument #2 ($mode) must not combine 'h' and 'k' flags in Command line code:1

執筆:2022.09.27
編集:2022.09.27


Fatal error: Uncaught ValueError: mb_convert_kana(): Argument #2 ($mode) must not combine 'h' and 'k' flags in Command line code:1

ほえ?

php\8\8.1\php -r "echo mb_convert_kana('カな', 'kh');"
カナ
php\8\8.2>php -r "echo mb_convert_kana('カな', 'kh');"

Fatal error: Uncaught ValueError: mb_convert_kana():
Argument #2 ($mode) must not combine 'h' and 'k' flags in Command line code:

k 「全角カタカナ」を「半角カタカナ」に変換します。
h 「全角ひらがな」を「半角カタカナ」に変換します。

競合する要素が全くない

カナを知らない人がメンテナンスしたようで kとKフラグを混同しているようだ。

» PHP8.2 Fatal error: Uncaught ValueError: mb_convert_kana() 'kh''">続きを読む

カテゴリー: ぷろぐらみんぐ
2022.09.27

cygwin
PHP Fatal error: Out of memory (allocated 49807360) (tried to allocate 2140027 bytes) in phar:///usr/local/bin/composer/src/Composer/Util/RemoteFilesystem.php on line 451

451: $result = zlib_decode($result);

なぜか50MBしか割り当てられていないとエラーが表示されます。

確認するが 512MBきちんと割り当てられている。
php -i | grep memory_limit
memory_limit => 512M => 512M

php -r "\$s = str_repeat(' ', 1000*1000*1000);"
PHP Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 1000000024 bytes) in Command line code on line 1

zlib_decode関数が怪しい
ということでzlib_decode関数をいじめてみます。
php -r "\$s = zlib_encode(' ',ZLIB_ENCODING_DEFLATE); str_repeat(\$s, 100*1000*1000);"
PHP Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 900000024 bytes) in Command line code on line 1
予想と違う結果で、きちんと設定値が返ってきました。

ということは、
・cygwinのphpにメモリリーク
・phar がメモリを食いつぶしている
・composer がメモリを食いつぶしている
あたりが疑われます

これ以上の追及は時間の無駄(というかわからない)なので
dosプロンプトで実行して解決
curl -O https://getcomposer.org/composer.phar
php composer.phar オプション
2018.06.20

libvpx build error using Visual C++ 2010 Express

原因:間違って vsyasm.exe が yasm.exeとして保存されている。




libvpx build error using Visual C++ 2010 Express

LINK : fatal error LNK1181: 入力ファイル 'Win32\Release\vpx\vpx_ports_emms.obj' を開けません。

  yasm -Xvc -f win32 -I"." -I"%CD%" vpx_ports\emms.asm -o "%CD%\Win32\Release\vpx\vpx_ports_emms.obj"
  ren emms.obj vpx_ports_emms.obj

LINK : fatal error LNK1181: 入力ファイル 'Win32\Release\vpx\vpx_ports_x86_abi_support.obj' を開けません。

yasm -h
  --objdir= name of object-file output directory
vsyasm -h
  --objdir= name of object-file output directory

webでyasmのドキュメントを開く
  -o は出力ファイル名とある。


yasmを自前でビルドしてみる
  yasm\Mkfiles\vc10\yasm.sln

yasm\Mkfiles\vc10\Win32\Release\yasm -h
  --objfile= name of object-file output

原因:間違って ysasm.exe が vsyasm.exeとして保存されている。
解決方法:ほんとうの yasm.exe に置き換える

vpx.vcxproj -
========== すべてリビルド: 1 正常終了、0 失敗、0 スキップ ==========

カテゴリー: General
2015.02.25

2.10.1 Unix 類似システムでのインストール後の手順
https://dev.mysql.com/doc/refman/5.6/ja/unix-postinstallation.html

この通りにしても動きません。

» 続きを読む

2015.11.14

PR

[PR]