小记搭建WAPM运行ThinkPHP时所需要的配置

  最近因为项目而接触到了Thinkphp,正在上手中。但昨天遇到几个问题,一下子牵连出之前搭建WAPM(windows+apache+PHP+MySQL)遗留的配置问题。

  aphache\conf目录下,本着宁少勿滥的原则 大体有这几句需要改的:(但这还不是解决上面这个问题的)

ServerRoot "d:/WAMP/Apache24"


<Directory />
    AllowOverride All
    Require all denied

</Directory>

DocumentRoot "d:/WAMP/web"

<Directory "d:/WAMP/web">

    Options Indexes FollowSymLinks

    AllowOverride All

    Require all granted
</Directory>

<IfModule dir_module>
    DirectoryIndex index.php index.html
</IfModule>

LoadModule php5_module "D:/WAMP/php/php5apache2_4.dll"

AddType application/x-httpd-php .php .html .htm

PHPIniDir "D:/WAMP/php"

具体路径 替换掉。

mysql配置:

path:添加环境变量》path: ;D:\WAMP\MySql55\bin 别把原来电脑的覆盖了。

 

好了,关键的地方就是php的配置了。图中问题所示是没有定义到这个类。首先定位到这个这个语句的地方(由于这是开发者模式,所以它会显示出具体路径)

(我饿了)

if(!empty($config['charset'])){
            //为兼容各版本PHP,用两种方式设置编码
            $this->options[\PDO::MYSQL_ATTR_INIT_COMMAND]    =   'SET NAMES '.$config['charset'];
            $dsn  .= ';charset='.$config['charset'];
        }

关键的错误点就是:

\PDO::MYSQL_ATTR_INIT_COMMAND

  这是thinkphp的 调用第三方类库的方式,理应在tp这个框架正常执行的话,那么问题就应该出自php中的PDO库中的命令,果然发现是php中对MYSQL支持的模块我并没有我开启。打开php.ini

;extension=php_pdo_mysql.dll

取消注释

extension=php_pdo_mysql.dll 

修改保存后,手痒运行了一下 php.exe 发现 找不到模块 ...重新查看发现:还有一个路径得修改

; Directory in which the loadable extensions (modules) reside.
; http://php.net/extension-dir
; extension_dir = "./"
; On windows:
 extension_dir = "D:\WAMP\php\ext"

修改以后,问题解决。

posted @ 2016-04-28 11:50  繁-林  阅读(504)  评论(0)    收藏  举报