Category Archives: php框架 – Yii

Yii的Gii生成Oracle的modal时候出错

Yii的Gii生成Oracle的modal时候出错

先说一下,本文提到的问题涉及的环境:

  1. Linux Centos 7
  2. Oracle 12c
  3. Yii 2.0.8
  4. httpd

使用Yii的Gii生成modal的时候遇到下面的错误

Database Exception – yii\db\Exception
ORA-00942: table or view does not exist
The SQL being executed was: SELECT username
FROM dba_users u
WHERE EXISTS (
SELECT 1
FROM dba_objects o
WHERE o.owner = u.username )
AND default_tablespace not in ('SYSTEM','SYSAUX')

Caused by: PDOException
ORA-00942: table or view does not exist

继续阅读

Yii 2 enablePrettyUrl后不能访问gii

Yii 2 enablePrettyUrl后不能访问gii

本篇我们谈谈在enablePrettyUrl后不能访问gii的问题。关于gii 是什么,不在我们讨论的范围,这里只给出官网的一个链接

http://www.yiiframework.com/doc-2.0/guide-start-gii.html

Generating Code with Gii – Getting Started – The Definitive Guide to Yii …

为什么要使用enablePrettyUrl,在之前的博文中有提到

Yii 2.x 简化URL

继续阅读

Yii学习之导入第三方的库

Yii学习之导入第三方的库

除了使用Yii框架的代码,以及自己写的代码,通常开发中还会用到第三方的库,如google api,那么怎么使用呢?

首先在

protected

文件夹下面创建一个文件夹

lib

然后将api对应的库拷贝到lib下面,比如是

google-api-sdk

接下来有3个选择来完成导入这些库中的类和函数

注册库 -autoloader:

// Enable Zend autoloader
spl_autoload_unregister(array('YiiBase', 'autoload')); // Disable Yii autoloader
Yii::import('lib.google-api-sdk.*'); // Add Google API library to include_path
Yii::import('lib.google-api-sdk.Google-Client', true); // Require Google API autoloader
spl_autoload_register(array('Google-Client', 'autoload')); // Register Google API autoloader
spl_autoload_register(array('YiiBase', 'autoload')); // Register Yii autoloader

继续阅读

Yii学习之错误处理输出详细信息

Yii学习之错误处理输出详细信息

Yii默认是输出错误的信息,

undefine variable 'xxx'

但是就凭这个信息很难定位,因为有可能好多地方有用它,

这样我们去到,

protected/views/site/error.php

将原来的内容

 11 <h2>Error <?php echo $code; ?></h2>
 12     
 13 <div class="error">
 14 <?php echo CHtml::encode($message); ?>
 15 </div>

继续阅读

Yii学习之发送json

Yii学习之发送json

修改

protected/components/Controller.php

在类里面添加

/**
 * Return data to browser as JSON and end application.
 * @param array $data
 */
protected function renderJSON($data)
{
    header('Content-type: application/json');
    echo CJSON::encode($data);

    foreach (Yii::app()->log->routes as $route) {
        if($route instanceof CWebLogRoute) {
            $route->enabled = false; // disable any weblogroutes
        }
    }
    Yii::app()->end();
}

继续阅读