国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

Undefined class constant 'MYSQL_ATTR_INIT_COMMAND'

henry

用的是lavarel框架,在框架基礎上使用workerman,接受和發(fā)送都是正常的,就是在OnworkerStart函數(shù)中連接數(shù)據(jù)庫的時候報錯??Undefined class constant 'MYSQL_ATTR_INIT_COMMAND';
?
引用的是在網(wǎng)上下載的Connection.php文件

3506 1 0
1個回答

phpcreeper

/path/to/php -m | grep pdo? ?檢查下你的 pdo擴展 以及pdo_mysql 擴展?

  • henry 2018-12-29

    如下是PHPinfo的信息:

    PDO support enabled
    PDO drivers sqlite, mysql, pgsql

    pdo_mysql
    PDO Driver for MySQL enabled
    Client API version mysqlnd 5.0.12-dev - 20150407 - $Id: 38fea24f2847fa7519001be390c98ae0acafe387 $
    Directive Local Value Master Value
    pdo_mysql.default_socket no value no value

  • phpcreeper 2018-12-29

    這貼的是網(wǎng)頁的 phpinfo信息 ? workerman是基于PHP-CLI開發(fā)的, 和網(wǎng)頁環(huán)境的PHP不是一碼事,讓你使用 php -m | grep pdo 檢查呢, 不是看phpinfo。

  • henry 2018-12-29

    /var/www# php -m | grep pdo
    pdo_mysql
    pdo_pgsql
    pdo_sqlite

    這樣是沒有pdo就不行?有pdo_mysql

  • henry 2018-12-29

    我這個是在docker容器里顯示的信息,能否加個qq溝通下?

  • henry 2018-12-29

    Build complete.
    Don't forget to run 'make test'.

    Installing shared extensions: /usr/local/lib/php/extensions/no-debug-non-zts-20170718/
    Installing header files: /usr/local/include/php/
    Installing PDO headers: /usr/local/include/php/ext/pdo/

    warning: pdo (pdo.so) is already loaded!

    find . -name *.gcno -o -name *.gcda | xargs rm -f
    find . -name *.lo -o -name *.o | xargs rm -f
    find . -name *.la -o -name *.a | xargs rm -f
    find . -name *.so | xargs rm -f
    find . -name .libs -a -type d|xargs rm -rf
    rm -f libphp.la modules/ libs/
    /var/www# php -m | grep pdo
    pdo_mysql
    pdo_pgsql
    pdo_sqlite

    我安裝了下,以上是要 讓我執(zhí)行 make test? 為啥是test??

  • phpcreeper 2018-12-29

    php -m | grep -i pdo 看看顯示的什么?

  • henry 2018-12-29

    /var/www# php -m | grep -i pdo
    PDO
    pdo_mysql
    pdo_pgsql
    pdo_sqlite

  • phpcreeper 2018-12-29

    這說明 pdo擴展 以及pdo_mysql 擴展 已經(jīng)安裝OK

  • henry 2018-12-29

    那還有其他原因嗎,一直說找不到在PDO.php中的常量

  • henry 2018-12-29

    我環(huán)境如下:
    ubuntu系統(tǒng)下安裝了docker容器,在docker容器里安裝了mysql,php-fpm,nginx等,容器外有個項目(lavarel框架,workerman),然后啟動這個workerman,會不會是因為這個workerman不是用的容器里php-fpm?應該也不會呀,如果不是用的容器里的php-fpm,這個workerman也跑不起來吧?

  • phpcreeper 2018-12-29

    1、PHP有多種運作方式,其中包括:PHP-CLI 和 PHP-FPM,這兩者不是一碼事。
    2、workerman是基于PHP-CLI開發(fā)運行的,PHP-FPM則是作為WEB服務器的擴展模塊運作的的。
    3、其他可能的原因,stackoverflow里寫的比較詳細,你仔細參考下:
    https://stackoverflow.com/questions/2424343/undefined-class-constant-mysql-attr-init-command-with-pdo
    4、另外PHP5.3有BUG, 詳見官方說明:
    https://bugs.php.net/bug.php?id=47224

  • 喵了個咪 2018-12-29

    裝錯地方了吧,在容器外用得在容器外裝pdo pdo_mysql兩個擴展啊。docker里裝有什么用

  • henry 2018-12-29

    workerman用不到容器里的php-fpm?是這樣的嗎?我的web服務都是用的容器里的php-fpm并能正常運行

  • phpcreeper 2018-12-29

    @5212:用不到,而且說了好幾次呢: PHP-CLI 和 PHP-FPM 這兩者不是一碼事。

  • henry 2018-12-29

    我在容器外執(zhí)行如下:
    ubuntu@VM-0-5-ubuntu:~$ php -m |grep -i pdo
    PDO

  • phpcreeper 2018-12-29

    @5212: 那不是明顯缺少 pdo_mysql 擴展么

  • henry 2018-12-29

    這方面確實不懂,那我workerman為啥能啟動呢,不需要php支持嗎?容器外沒有安裝php呀

  • phpcreeper 2018-12-29

    @5212: 容器外沒裝PHP? 那不是你上面說的在容器外執(zhí)行的PHP?

  • henry 2018-12-29

    之前只有在docker容器里安裝,應該是容器里的php映射到容器外了

年代過于久遠,無法發(fā)表回答
??