centos下安装禅道7.2.4版本遇到的问题

环境:centos6.6  Apache2.6  MariaDB5  PHP5.4

Apache是编译安装在/usr/local/apache2

MariaDBRPM包安装

PHP是编译安装

因为要在此环境上安装禅道bug管理系统,所以直接把zentao解压后的包放在/usr/local/apache2/htdocs/下就行了。然后再访问ip:port/zentaopms/www/install.php这个路径,按照提示进行安装。下面是整个安装过程遇到的问题:

1.首先是没有加载到pdo_mysql.so模块。然后下面是解决方法:

tar xzvf PDO_MYSQL-1.0.2.tgz

cd PDO_MYSQL-1.0.2

执行命令:/usr/local/php/bin/phpize      //这个路径文件根据实际环境而定

然后执行:    ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/bin/mysql_config(标记1)

make  &&  make install

make install 完后会有提示说明在哪个路径下已经产生了一个pdo_mysql.so文件。可以到此路径验证存在此文件。

2.将文件/usr/share/doc/php-common-5.3.3/php.ini-production拷贝到/usr/local/php/lib/(php的编译安装目录)下并改名为php.ini。

然后修改此php.ini文件,如下所示:

加在它的下面:

extension_dir = "/"

extension = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20100525/pdo_mysql.so"

保存,退出,然后重启Apache。再刷新zentao安装界面会发现已经加载了pdo_mysql.so模块。

3.接着安装zentao,这一步到了输入数据库信息,输入完数据库信息后点击下一步,直接出现空白页,找了很久的原因也找不到。最后在my.php里将debug值改为true。再次尝试输入数据库信息然后提交。直接在web页面看到报错信息了。

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 2030 This command is not supported in the prepared statement protocol yet' in /usr/local/apache2/docs/zentaopms/module/install/model.php:375 Stack trace: #0 /usr/local/apache2/docs/zentaopms/module/install/model.php(375): PDO->query('-- DROP TABLE I...') #1 /usr/local/apache2/docs/zentaopms/module/install/model.php(247): installModel->createTable('5.5') #2 /usr/local/apache2/docs/zentaopms/module/install/control.php(92): installModel->checkConfig() #3 [internal function]: install->step3() #4 /usr/local/apache2/docs/zentaopms/framework/router.class.php(1140): call_user_func_array(Array, Array) #5 /usr/local/apache2/docs/zentaopms/www/install.php(38): router->loadModule() #6 {main} thrown in /usr/local/apache2/docs/zentaopms/module/install/model.php on line 375
2015/7/28 14:54:46

这个错误找了很久都不知道怎么解决,可能是不支持pdo模块造成的。最后在一篇帖子里看到这样改就OK了。

解决办法是修改module/install/model.php,找到 public function connectDB() 函数,在

$dbh = new PDO($dsn, $this->config->db->user, $this->config->db->password);
$dbh->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
后加入
$dbh->setAttribute(PDO::ATTR_EMULATE_PREPARES, true);

保存后,安装成功

然后继续往下安装,终于出现了登陆界面。但是新的问题又来了,输入账号密码后点击登录有报错,

Warning: Unknown: open(/tmp/sess_udcl4ph6t3kc0dic8b3sct7uj1, O_RDWR) failed: Permission denied (13) in Unknown on line 0

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct () in Unknown on line 0

这个问题在咨询了禅道的技术后得以解决。在这里赞他们一个,很有耐心。到php.ini文件里修改

为这个就把问题解决了。这个目录自己创建,并给予足够的权限,我这里为了方便就直接777了。

最后再登陆就OK了。


你可能感兴趣的:(centos下安装禅道7.2.4版本遇到的问题)