PHP 7.0의 Laravel 5.4: PDO Exception - 드라이버를 찾을 수 없음(MySQL)
저는 Ubuntu 14.04(Plesk 12.5.30 포함 VPS)에서 Laravel 5.4 프로젝트를 수행하고 있습니다.데이터베이스를 생성하고 필요한 정보를 가진 .env 파일을 설정한 후 Iranphp artisan migrate
그리고 예외는 벗어났습니다.
[조명\데이터베이스\]](예외 ]
드라이버를 찾을 없습니다 수 및 graphics 선택 graphics에서 있는 마이그레이션이 p table_name = _ ation _ information_graphics에서 * 선택 sql )[예외PDO 예외]
드라이버를 찾을 수 .다수를다수d .
내 .env 파일은 다음과 같습니다.
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABase=pmaramaldb
DB_USERNAME=사용자
DB_PASSWORD=비밀번호
대부분의 가이드를 따라 이 오류를 해결했지만 긍정적인 결과는 없었습니다.
Extension 솔루션 사용:
php.ini 파일이 자동으로 생성되고 있는데 Plesk에서 만든 것 같습니다.파일의 시작 부분에는 다음과 같이 적혀 있습니다.
!
;
으로 생성되었기 이은로기에오지오지에o기은로이e;etsytsmyd,..오o>
; 따라서 다음 번에 파일이 생성될 때 모든 변경 사항이 손실됩니다.
그래서 저도 해봤어요.그 후에 아파치를 다시 시작해보고 다시 시도해봤어요...안 됐어요.
php7.0-mysql 솔루션을 설치하는 중:
다음과 같은 경우 MySQL을 설치하려고 했습니다.
user@server:/var/www/vhosts$ sudo apt-get install php7.0-hosts
레이엔도 리스트 데파케...헤초
크레안도아르볼데데종렌시아스
레이엔돌라 인포마시온 데이스타도...헤초
php7.0-208은 이미 최신 버전입니다.
0 실루리자도스, 0 세스탈란, 0 파라 탈락 67 실루리자도스 없음
** SQL Lite 설치 솔루션:**
질문 링크에 나와 있는 대로 시도해 보았습니다.sudo apt-get install php5-sqlite
결과는 다음과 같습니다.
user@server:/var/www/vhosts/system/maramal.io/etc$ sudo apt-get install php5-sqlite
레이엔도 리스트 데파케...헤초
크레안도아르볼데데종렌시아스
레이엔돌라 인포마시온 데이스타도...헤초
php5-sqlite는 이미 최신 버전입니다.
0 실루리자도스, 0 세스탈란, 0 파라 탈락 67 실루리자도스 없음
Composer 덤프 자동 로드 솔루션:
그것도 효과가 없었습니다.노력했습니다.composer dump-autoload
효과가 없었어요
후 을 한 한 php -i
:
PDO
PDO 지원 => 사용
PDO 드라이버 =>
...
PHP Version => 5.6.30-1+basessury.org ~trusty+1
글쎄, 이것이 오류와 관련이 있는지는 모르겠지만, 실행중에 표시된 버전입니다.php -v
다음과 같습니다.
user@server: ~/path$ php -v
PHP 5.6.30-1+deb.sury.org~trusty+1 (cli)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, Zend Technologies사
As an alternative solution be sure you have installed php7-mysql
try to run command below
sudo apt install php7.0-mysql
or, if you want to automatically install the current version
sudo apt install php-mysql
Same problem, ubuntu 17.10, Laravel 5.5.
$sudo apt install php7.1-pdo php7.1-mysql
A nice quick fix, hope this helps
There's a conflict between the PHP that is used by Apache and the PHP that is linked to the command line. (It happens more often that it should to be honest).
What is typically done is:
which php
명령 줄에서 실행할 때 어떤 php가 실행되는지 알려줍니다./usr/bin/php
mv /usr/bin/php /usr/bin/php.old
Then link or copy the correct PHP version to an executable path:
ln -s /path/to/php/bin/php /usr/bin/php
or the following should also work.
cp /path/to/php/bin/php /usr/bin/php
Also suggested if you want to be able to manually install mods:
ln -s /path/to/php/bin/phpize /usr/bin/phpize
ln -s /path/to/php/bin/php-config /usr/bin/php-config
This way your CLI will match your webserver.
Update:
If as noted in this answer if you are using Ubuntu with multiple alternative installations of PHP you can do:
sudo update-alternatives --set php /usr/bin/php<version>
sudo update-alternatives --set phar /usr/bin/phar<version>
sudo update-alternatives --set phar.phar /usr/bin/phar.phar<version>
sudo update-alternatives --set phpize /usr/bin/phpize<version>
sudo update-alternatives --set php-config /usr/bin/php-config<version>
I had the same scenario you have. I did resolve mine the following:
1) on your terminal, type
php --ini
this will output your current php.ini configuration file path.
2) edit php.ini using vim or your preferred editor.
vim /etc/php.ini
note that /etc/php.ini is your path file for your php.ini. it may be different on your machine.
3) find ;extension=php_pdo_mysql.dll and uncomment it by removing semicolon (;)
4) save your php.ini change/s
**5) restart the web server to apply the changes
sudo systemctl restart apache2
**6) Now run your command.
php artisan migrate
hope this helps for you.
in linux do like that
first check your php version like this :
php -v
after you get version number for example i get 7.1 then install like that
sudo apt-get install php7.1-sqlite //for laravel testing with sqlite
sudo apt-get install php-mysql //for default mysql
sudo apt-get install php7.1-mysql //for version based mysql
sudo apt-get install php7.1-common //for other necessary package for php
and need to restart apache2
sudo service apache2 restart
You can try these following command
php artisan cache:clear
php artisan config:clear
그런 다음 Apache 서버를 다시 시작합니다.그 다음에 다시 구성합니다..env
파일
데이터베이스 드라이버가 없습니다.프로브렘을 풀기 위해서는
먼저 드라이버를 설치합니다.
우분투의 경우:mysql 데이터베이스의 경우.
sudo apt-get install php5.6-mysql/php7.2-mysql
다른 데이터베이스 시스템을 검색할 수도 있습니다.
드라이버를 검색할 수도 있습니다.
sudo apt-cache search drivername
네, 이런 오류를 경험한 적이 있습니다.이유는 모르겠지만 php 7.3에서 드라이버와 관련된 문제가 있거나 제가 했던 것이 php 7.2로 다시 전환되었고 모든 것이 잘 작동했습니다.
sudo apt install php7.2-pdo php7.2-mysql
투명한 장인 정신
php artisan cache:clear
그리고.
php artisan migrate:refresh
바로 그겁니다.
사실 PHP 버전을 잘 모르시고 잘못된 경로를 사용하신 것 같습니다.
벤더 PHP 버전(5.6 by sury.org )의 경우 PHP 명령어를 "/usr/bin/desclies"로 사용하지만 Plesk와 같은 다른 PHP 버전을 사용하면 경로가 달라집니다.
/opt/plesk/php/5.2/bin/php -v
/opt/plesk/php/5.3/bin/php -v
/opt/plesk/php/5.4/bin/php -v
/opt/plesk/php/5.5/bin/php -v
/opt/plesk/php/5.6/bin/php -v
/opt/plesk/php/7.0/bin/php -v
/opt/plesk/php/7.1/bin/php -v
PHP - 추가 PHP 버전(sury.org 에서 https://launchpad.net/ MAIN ppa PHP 버전을 설치한 경우 7.0 및 7.1)에 대한 명령은 다음과 같습니다.
/usr/bin/php7.0 -v
/usr/bin/php7.1 -v
각 PHP 버전에 대해 설치된 모듈을 "-m" 옵션 문자열과 함께 표시하고 정보를 보려면 "-i" 옵션 문자열을 사용합니다(예).
/opt/plesk/php/7.0/bin/php -m
/opt/plesk/php/7.0/bin/php -i
or
/usr/bin/php7.0 -m
/usr/bin/php7.0 -i
"composer"를 사용하려면 PHP 실행 파일의 전체 경로를 사용하는 것)를 사용하는 것이 좋습니다.
/opt/plesk/php/7.0/bin/php composer-setup.php
or
/usr/bin/php7.0 composer-setup.php
추가 "composer" - 명령어는 다음과 같습니다.
/opt/plesk/php/7.0/bin/php composer.phar AND-ADDITIONAL-STRINGS/OPTIONS-TO-BE-INCLUDED
or
/opt/plesk/php/7.0/bin/php composer.phar AND-ADDITIONAL-STRINGS/OPTIONS-TO-BE-INCLUDED
WSL2를 도커와 함께 사용하고 있는데 최근 DB 드라이버 전환에 문제가 발생한 경우 다음을 시도해 볼 수 있습니다.
docker ps (to retrieve your app image)
docker exec <app_code> php artisan cache:clear
docker exec <app_code> php artisan config:clear
창에 대한 내용은 "C:\프로그램 파일\PHP 또는 C:php.ini 파일의 \Program Files(x86)"입니다.
거기서 ";"을 찾아 제거하면 다음과 같습니다.
extension=mysqli
extension=pdo_mysql
AMMPS 또는 IIS를 사용하는 경우 서비스를 다시 시작해야 할 수도 있습니다.
언급URL : https://stackoverflow.com/questions/42909397/laravel-5-4-on-php-7-0-pdo-exception-could-not-find-driver-mysql
'sourcecode' 카테고리의 다른 글
PDF에서 데이터 추출 후 워크시트에 추가 (0) | 2023.09.15 |
---|---|
스위프트에서 UI 이미지를 색칠하려면 어떻게 해야 합니까? (0) | 2023.09.15 |
VARCHAR2 인라인으로 롱 캐스트하는 방법 (0) | 2023.09.15 |
Github: 개인 레포에 대한 읽기 전용 액세스 (0) | 2023.09.15 |
azure mariadb 서버에 키클로크 연결 (0) | 2023.09.15 |