programing

PHP 7 RC3: 누락된 MySQL PDO를 설치하는 방법

luckcodes 2022. 10. 18. 22:08

PHP 7 RC3: 누락된 MySQL PDO를 설치하는 방법

를 「Webserver」로 설정하려고 .PHP 7 RC3+NginxUbuntu 14.04(미국의)

Ubuntu Vagrant를 사용하여 했습니다.ubuntu/trusty64및 PHP 7 RC 3 (https://launchpad.net/ ~ ondrej/+filename/ubuntu/filename-7.0)를 참조하십시오.

수 .MySQL PDOPHP )PDOMySQL과된 것은 MySQL과 관련된 것은 .PDO::MYSQL_ATTR_DIRECT_QUERY의 개요)

lib가 것 요.php7.0-mysql과 유추하여)php5-mysqlnd ★★★★★★★★★★★★★★★★★」php7.0-fpmOnd(로부터 등)을 해 주세요.

PDOphpinfo():

PDO support      enabled
PDO drivers      no value

어떻게 구할 수 있죠?

apache2에서 Linux를 실행하려면 php-mysql을 설치해야 합니다.

apt-get install php-mysql

또는 ubuntu 16.04 이상을 실행하고 있는 경우 다음 명령어만 실행해도 도움이 되지 않으므로 php.ini 파일을 편집할 필요가 없습니다.

apt-get install php7.2-mysql

ubuntu 15.10 이하를 실행하고 있는 경우:

php.ini 파일을 편집합니다.이 파일은 다음 위치에 있습니다./etc/php/[version]/apache2/php.inipdo_module을 검색하면 다음과 같은 것을 찾을 수 있습니다.

;extension=pdo_mysql.so

이것으로 변경하다

extension=pdo_mysql.so

파일을 저장하고 apache를 다시 시작합니다.

service apache2 restart

phpinfo()에서 사용할 수 있는지 확인합니다.

최초 설치 php-mysql

sudo apt-get install php7.0-mysql
//change the version number based on the php version

모듈을 유효하게 합니다.

sudo phpenmod pdo_mysql

apache를 재시작합니다.

sudo service apache2 restart 

ubuntu 18.04에서 다음 작업을 수행할 수 있습니다.

단말기에 이것을 입력해 주세요.

php7.3의 경우

sudo apt-get install php7.3-gd php7.3-mysql

php7.0의 경우

sudo apt-get install php7.0-gd php7.0-mysql

php5의 경우

sudo apt-get install php5-gd php5-mysql

먼저 php.ini에서 확장자 "php_pdo_mysql"과 "php_mysqli"가 활성화되어 있고 "extension_dir" 경로가 올바른지 확인합니다.위의 설정 중 하나가 필요한 경우 변경을 적용하려면 php-fpm을 재시작해야 합니다.

제 경우(회사 내에서 Windows OS를 사용하는 경우 OSX 또는 Linux를 매우 선호합니다)는 다음 값을 php.ini에 넣는 문제를 해결했습니다.

; ...

extension_dir = "ext"

; ... 

extension=php_mysqli.dll
extension=php_pdo_mysql.dll

; ...

이게 도움이 됐으면 좋겠어요.

에그얄은 그가 댓글로 올바른 조언을 한 후 그의 코멘트를 답변으로 제공하지 않았기 때문에 여기에 올립니다.내 경우 모듈을 설치해야 했다.php-mysql자세한 것은, 질문의 코멘트를 참조해 주세요.

윈도 상에서 php 폴더가 PATH에 없는 경우 php.ini에 절대 디렉토리가 설정되어 있습니다.

예를 들어 다음과 같습니다.

extension_dir = "C:/php7/ext"

및 언코멘트

extension=php_mysqli.dll
extension=php_pdo_mysql.dll

apache2.4를 재시작하면 작동합니다.

도움이 됐으면 좋겠어요.

  1. php 7의 소스 코드를 다운로드하여 압축을 풉니다.
  2. 터미널을 엽니다.
  3. ext/mysqli 디렉토리로 헤엄치다
  4. 명령어를 사용합니다.

    phpize를 하다

    ./설정.

    만들다

    (루트로) 설치하다

  5. php.ini 파일에서 extension=mysqli.so을 활성화합니다.
  6. 알았어!

이건 내게 효과가 있었다.

저도 거의 같은 문제가 있었어요.PDO가 유효하게 되어 있는 것을 알 수 있었습니다만, 사용 가능한 드라이버가 없었습니다(PHP 7-RC4 사용).활성화 되어 있는 확장자에 php_pdo_mysql을 추가하여 문제를 해결할 수 있었습니다.

이게 도움이 됐으면 좋겠네요!

ubunto 20.4에서 php-mysql을 재설치하여 문제를 해결했습니다.

php-mysql 삭제:

sudo apt purge php7.2-mysql

그런 다음 php-mysql을 설치합니다.

sudo apt install php7.2-mysql

php.ini에 새로운 설정이 추가됩니다.

동일한 문제가 발생하여 올바른 파일 이름을 사용하여 실제로 php.ini 확장자를 활성화함으로써 해결되었습니다.php_pdo_mysql.so로 표시되었지만 /lib/php/modules의 모듈 이름은 pdo_mysql로 불렸습니다.그렇게

따라서 php.ini 파일에서 "php_" 접두사를 삭제하고 httpd 서비스를 재시작하면 매우 효과적입니다.

Arch를 사용하고 있으므로 배포에 따라 경로 이름과 서비스가 다를 수 있습니다.

먼저 답변부터 드리겠습니다. 이 수정은 위에 기록되었습니다. 검색하시는 분들을 위해 다시 기술하겠습니다.

  1. php 7의 소스 코드를 다운로드하여 압축을 풉니다.
  2. 터미널을 엽니다.
  3. ext/pdo_displays 디렉토리로 헤엄치다
  4. 명령어를 사용합니다.

    phpize를 하다

    ./설정.

    만들다

    (루트로) 설치하다

  5. php.ini 파일에서 extension=mysqli.so을 활성화합니다.

이것은, 여기서의 회답으로서 기록됩니다(고객에게도 도움이 되는 경우는, 업 투표해 주세요).https://stackoverflow.com/a/39277373/3912517

콘텍스트:표준 WordPress Docker에 LimeSurvey를 추가하려고 합니다.단 한 가지 장애점은 "PHP PDO 드라이버 라이브러리"로 "찾을 수 없음"입니다.

php -i | grep PDO                                                                                  
PHP Warning:  PHP Startup: Unable to load dynamic library 'pdo_odbc' (tried: /usr/local/lib/php/extensions/no-debug-non-zts-20170718/pdo_odbc (/usr/local/lib/php/extensions/no-debug-non-zts-20170718/pdo_odbc: cannot open shared object file: No such file or directory), /usr/local/lib/php/extensions/no-debug-non-zts-20170718/pdo_odbc.so (/usr/local/lib/php/extensions/no-debug-non-zts-20170718/pdo_odbc.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP Warning:  Module 'mysqli' already loaded in Unknown on line 0
PDO
PDO support => enabled
PDO drivers => sqlite
PDO Driver for SQLite 3.x => enabled

Ubuntu 16 (Ubuntu 7.3.0)

apt-get install php7.0-mysql

결과:

Package 'php7.0-mysql' has no installation candidate

실행하기만 하면 된다는 지침을 얻을 수 있습니다.

add-apt-repository -y ppa:ondrej/apache2

하지만 난 이걸 알았어.

UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 223: ordinal not in range(128)

그래서 어떤 종류의 UTF(LC_ALL=C)를 강제로 적용하려고 합니다.UTF-8 add-apt-repository -y ppa:ondrej/apache2에서 유효한 OpenPGP 데이터를 찾을 수 없습니다.

다른 절차에 따라 apt-get update를 실행하면 다음과 같은 메시지가 나타납니다.Err: 14 http://ppa.launchpad.net/ondrej/apache2/ubuntu cosmic / main amd64 Packages 404 Not Found Err: 15 http://ppa.launchpad.net/ondrej/php/ubuntu cosmic / main amd64 Packages 404 Not Found and http://ppa.launchpad.net/ondrej/php/ubuntu cosmic / main amd64 Packages 404 Not Found http://ppa.launchpad.net/ondrej/php/ubuntu http://ppa.launchpad.net/ondrej/php/ubuntu cosmic / main 404 Not Found http://ppa.launchpad.net/ondrej/php/ubuntu cosmic / main /main amd of of of of of of of of of of of

The repository 'http://ppa.launchpad.net/ondrej/apache2/ubuntu cosmic Release' does not have a Release file.

이 단계까지 apt-get 업데이트:

Package 'php7.0-mysql' has no installation candidate.

저는 php 라이브러리를 추가하려고 하고 유니코드 문제가 생겨 그것을 회피하려고 노력했습니다.무슨 말인지 아시겠죠?찰싹찰싹나는 포기하고 그것을 컴파일할 수 있는지 알아보고 내가 시작한 답을 찾았다.

제가 왜 이렇게 글을 많이 썼는지 궁금하시죠?누구나 이 솔루션을 찾을 수 있습니다(저를 포함).

['class' => 'yii\db\Connection',
    'dsn' => 'mysql:host=localhost:3306;dbname=testdb',
    'username' => 'user',
    'password' => 'password',
    'charset' => 'utf8',]

간단합니다. 포트 번호와 함께 호스트 이름을 입력하고 기본 Sock 경로를mysql.sock파일 경로php.ini서버가 실행되고 있다.

언급URL : https://stackoverflow.com/questions/32728860/php-7-rc3-how-to-install-missing-mysql-pdo