質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Zend Framework

Zend Frameworkは、PHP5で記述されたWebアプリケーションフレームワークです。Zend Frameworkには守らなければならない開発の規定というものは存在せず、MVCなどの複数のコンポーネントを提供しています。

Q&A

解決済

4回答

11806閲覧

pdo_mysqlが読み込めない

yuki_90453

総合スコア326

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ubuntu

Ubuntuは、Debian GNU/Linuxを基盤としたフリーのオペレーティングシステムです。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Zend Framework

Zend Frameworkは、PHP5で記述されたWebアプリケーションフレームワークです。Zend Frameworkには守らなければならない開発の規定というものは存在せず、MVCなどの複数のコンポーネントを提供しています。

0グッド

1クリップ

投稿2018/10/26 04:21

編集2018/10/26 04:37

###概要
nginxでサイトを立ち上げた際、下記のようなエラーが表示され本来のページが表示されません。

Zend_Db_Adapter_Exception: pdo_mysql extension is not installed in /var/www/html/vendor/magento/framework/DB/Adapter/Pdo/Mysql.php:373 Stack trace: #0 /var/www/html/vendor/magento/zendframework1/library/Zend/Db/Adapter/Abstract.php(460): Magento\Framework\DB\Adapter\Pdo\Mysql->_connect() #1 (以下省略)

しかし、php -mコマンドでPDOがインストール済みで有ることを確認できます。

PDO pdo_mysql

そこでphp.iniにの変更が必要と読み、下記を付け加えました。

extension=pdo_mysql.so extension=pdo_mysqli.so extension=pdo.so

その後、ページは未だ表示されず、php infoを確認すると下記のように表示されます。

PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20160303/pdo_mysql.so' - /usr/lib/php/20160303/pdo_mysql.so: undefined symbol: pdo_parse_params in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library '/usr/lib/php/20160303/pdo_mysqli.so' - /usr/lib/php/20160303/pdo_mysqli.so: cannot open shared object file: No such file or directory in Unknown on line 0 PHP Warning: Module 'PDO' already loaded in Unknown on line 0

###質問
PDOは確かにインストールしたのですが、ディレクトリが見つからないと表示されます。しかしその下にはPDOロード済みとも表示され混乱しています。
php.iniの追記を消すとWarningは出なくなりますが、ページ上ではpdo_mysql extension is not installedと表示されます。

どのようにすればいいかアドバイスお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2018/10/26 04:35

ZendFrameworkをご利用でしょうか?もしかしたらフレームワーク固有の解決策が必要かもしれませんのでタグに追加しておいてください。
guest

回答4

0

すでに解決済みですが、回答者さんが伝えたかったことを補足

質問者さんが期待するのはwebサイト上で動くことなので

コマンドで確認するのは不適切で

bash

1# php -r 'phpinfo();

下記コードのページにブラウザでアクセスして確認してくださいねということです

php

1<?php 2 phpinfo(); 3?>

このページを見ることはwebサーバでphpの動作環境を正しく作成できたか?の確認にもよく使用します
phpinfo

投稿2018/10/26 05:51

yukky1201

総合スコア2751

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuki_90453

2018/10/26 08:13

情報ありがとうございます。
guest

0

自己解決

sudo service php7.1-fpm stop
sudo service php7.1-fpm start
で行けました。

投稿2018/10/26 04:49

yuki_90453

総合スコア326

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

とりあえず

  • info.php

PHP

1<?PHP 2phpinfo(); 3?>

で、pdoセクションが表示されるか確認するところからですね

投稿2018/10/26 04:27

yambejp

総合スコア114572

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuki_90453

2018/10/26 04:31

phpinfoは下記のようになっており、pdoセクションはありません。 phpinfo() PHP Version => 7.1.23-3+ubuntu16.04.1+deb.sury.org+1 System => Linux 555bcd8f150a 4.9.93-linuxkit-aufs #1 SMP Wed Jun 6 16:55:56 UTC 2018 x86_64 Build Date => Oct 25 2018 06:43:19 Server API => Command Line Interface Virtual Directory Support => disabled Configuration File (php.ini) Path => /etc/php/7.1/cli Loaded Configuration File => /etc/php/7.1/cli/php.ini Scan this dir for additional .ini files => /etc/php/7.1/cli/conf.d
退会済みユーザー

退会済みユーザー

2018/10/26 04:36

nginxから呼ばれるphpには、pdo類一切組み込まれていないのだから、組み込みましょうよ。
guest

0

cli と web サーバ経由の php が異なっていることがあります。
確かめてみてください。

投稿2018/10/26 04:22

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuki_90453

2018/10/26 04:24

よく理解できないのですがphpバージョンが異なるということですか?
退会済みユーザー

退会済みユーザー

2018/10/26 04:35

コンソールから実行するphpと、nginxが呼び出すphpが別物である場合がある、という意味。 phpinfo()でphp.iniを特定してください。
yuki_90453

2018/10/26 04:40

phpinfoは下記のようになっております。 phpinfo() PHP Version => 7.1.23-3+ubuntu16.04.1+deb.sury.org+1 System => Linux 555bcd8f150a 4.9.93-linuxkit-aufs #1 SMP Wed Jun 6 16:55:56 UTC 2018 x86_64 Build Date => Oct 25 2018 06:43:19 Server API => Command Line Interface Virtual Directory Support => disabled Configuration File (php.ini) Path => /etc/php/7.1/cli Loaded Configuration File => /etc/php/7.1/cli/php.ini Scan this dir for additional .ini files => /etc/php/7.1/cli/conf.d php.iniは/etc/php/7.1/cli/php.iniですね。nginxが呼び出すphpについてよくわからないので調べてみます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問