私はPHP 7.1.5でMAMPサーバを使用しています。 Symfony Framework 3.4.2、PostgreSQL 10の新プロジェクトです。 PostGISを使用して、PostgreSQLにジオメトリデータ型の空間データを格納します。したがって、私はインストールして使用する: "jsor /ドクトリン-PostGISのを": "^ 1.5"Symfony 3.4 LTS、PostgreSQL 10、DoctrineDBALがドライバを見つけられませんでした
後は、私のcomposer.jsonの一部です:
"require": {
"php": ">=5.5.9",
"doctrine/doctrine-bundle": "^1.6",
"doctrine/orm": "^2.5",
"incenteev/composer-parameter-handler": "^2.0",
"jsor/doctrine-postgis": "^1.5",
"sensio/distribution-bundle": "^5.0.19",
"sensio/framework-extra-bundle": "^5.0.0",
"symfony/monolog-bundle": "^3.1.0",
"symfony/polyfill-apcu": "^1.0",
"symfony/swiftmailer-bundle": "^2.6.4",
"symfony/symfony": "3.4.*",
"twig/twig": "^1.0||^2.0"
parameters.yml:
server_ver: 10.0
database_driver: pdo_pgsql
database_host: localhost
database_port: 5432
database_name: qtqg
database_path: ~
database_user: postgres
database_password: admin
config.yml:
doctrine:
dbal:
default_connection: default
connections:
default:
mapping_types:
_text: string
server_version: %server_ver%
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
path: %database_path%
user: %database_user%
password: %database_password%
persistent: true
charset: UTF8
logging: %kernel.debug%
profiling: %kernel.debug%
# if using pdo_sqlite as your database driver:
# 1. add the path in parameters.yml
# e.g. database_path: '%kernel.project_dir%/var/data/data.sqlite'
# 2. Uncomment database_path in parameters.yml.dist
# 3. Uncomment next line:
#path: '%database_path%'
types:
geography:
class: 'Jsor\Doctrine\PostGIS\Types\GeographyType'
commented: false
geometry:
class: 'Jsor\Doctrine\PostGIS\Types\GeometryType'
commented: false
raster:
class: 'Jsor\Doctrine\PostGIS\Types\RasterType'
commented: false
すべてがうまく機能し、私はエンティティを生成するために、CMDを使用することができます。
php bin/console doctrine:mapping:import --force AppBundle annotation
そして、その生成CRUD後:
php bin/console generate:doctrine:crud AppBundleMonitoringAdminBundle:coquan -n --format=annotation --with-write
実行するPHPはPHP 7.1.5で、私もCでphp.iniファイルをチェックする:\ WindowsとMAMPサーバーで読み込まれたphp.ini。 php -m
コマンドショー:
PDO
pdo_mysql
PDO_ODBC
pdo_pgsql
pdo_sqlite
私はそれを接続して、エンティティ、CRUD .... を生成することができますので、データドライバに問題だと思います。しかし後にCRUDを生成し、内のすべての項目を一覧表示するには、コントローラにアクセスしようとしません。
エラーラインのAn exception occurred in driver: could not find driver
一つは次のとおりです:1エンティティ、私はエラーを得た私は、XAにMAMPを変更するなど、多くの方法を試してみました
AbstractPostgreSQLDriver->convertException('An exception occurred in driver: could not find driver', object(PDOException)) in vendor\doctrine\dbal\lib\Doctrine\DBAL\DBALException.php (line 176)
mp、wampサーバー、dbalの設定方法に関するすべての勧告...しかし、エラーはまだそこにある
誰でも助けてくれますか?
について
vendor/doctrine/dbal/lib/Doctrine/DBAL/Schema/PostgreSqlSchemaManager.php
ラインライン292変更インサイドサーバ。 phpinfo()を使って、有効な拡張子をチェックし、どのphp.iniが使用中であるかを調べることができます。 – Orange18947私はどのようにWebサーバでそれを有効にできますか? php -vはそれがphp 7.15(cli)であることを示しました。 php --ini 2つのphp.iniファイルを1つのC:/ windowsに表示し、c:/mamp/bin/php/php7.15に読み込みますが、これらの2つのファイルが同じになるようにコピーしました。 – askmacos