升级后Codeigniter 2到3版本,我收到此错误..为什么会这样?
遇到了未被捕获的异常
类型:例外
消息:已配置的数据库连接是持久的.中止.
文件名:/var/www/vhosts/xxx.com/app/system/libraries/Session/drivers/Session_database_driver.php
行号:94
回溯:
文件:/var/www/vhosts/xxx.com/app/application/core/MY_Controller.php行:11功能:__ construct
文件:/var/www/vhosts/xxx.com/app/application/core/MY_Controller.php行:52功能:__ construct
文件:/var/www/vhosts/xxx.com/app/application/controllers/Dashboard.php行:7功能:__ construct
文件:/var/www/vhosts/xxx.com/application/index.php行:293功能:require_once
我正在尝试从CLI运行代码,正如CI文档中所述,但由于某些原因,可能因为使用HMVC扩展,它不会进入指定的控制器.
我没有在HMVC扩展站点中找到关于CLI执行的其他文档.
有谁知道如何处理这个?
这里的代码:
/**
* application/controllers/Cron.php
* This is just a wrapper controller to use an HMVC module using the basic CLI syntax for CI
*
*/
class Cron extends MX_Controller
{
public function generatepdfs($start_date = null, $end_date = null)
{
echo 'Not reached'; exit;
$this->load->module('facturation/documentscontroller');
$this->documentoscontroller->generatepdfs($start_date, $end_date);
}
}
Run Code Online (Sandbox Code Playgroud)
无论我是从文档根运行它:
php index.php cron generatepdfs
Run Code Online (Sandbox Code Playgroud)
或这个:
/usr/bin/php -f /home/user/public_html/index.php cron generatepdfs
Run Code Online (Sandbox Code Playgroud)
它不会显示"未到达".
如果我从浏览器运行它,它会这样做.
这些是输出到控制台的一些错误:
无法找到指定的类:Session.php
我在application/libraries/session/MY_Session.php中有一个覆盖的Session库MY_Session,它在浏览器中完美运行.如果我将此文件向上移动一个目录,则此错误将不会再次显示在控制台中,但它在浏览器中不起作用.它是自动加载的方式.
我根本不喜欢的解决方法:在两个位置复制相同的文件.
下一个错误:
PHP致命错误:第196行/home/mysite/public_html/system/core/Common.php中找不到类"CI_Preferencias"
我有一个名为Preferencias的自定义库,它也是自动加载的,在application/libraries/Preferencias.php中
同样,这在浏览器中完美运行.但是,从CLI开始,它似乎搜索不存在的CI_Preferencias库.如果我将其重命名为CI_Preferencias,并自动加载"CI_Preferencias",CI将从CLI搜索名为CI_CI_Preferencias的类.
我不确定我是否遗漏了某些内容,或者CI中存在实际错误,或者HMVC模块正在弄乱它.
谁能帮助我?这让我抓狂,因为我必须使用从cronjobs安排的CLI操作,我觉得完全迷失了.
我是 codeigniter 的新手。在每次采访中都询问了有关 hooks 的问题。我不明白什么是钩子为什么我必须使用它?它有什么好处。
Codeigniter Hello World程序的Angular 2运行完美.但是我发送错误"JSON输入的意外结束",同时从Angular 2向Codeigniter Controller发送Http get请求"Entry.php"Plunker代码在此链接:
https://plnkr.co/edit/MHVVkWwFqEggqSI5b6B2?p=info
同样的代码也粘贴在这里:app.module.ts
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { HttpModule } from "@angular/http";
import { AppComponent } from './app.component';
import { EntryService } from './entry.service';
@NgModule({
imports: [
BrowserModule,
HttpModule
],
declarations: [
AppComponent
],
exports: [ // export for the DemoModule
AppComponent
],
providers: [ EntryService],
bootstrap: [ AppComponent ]
})
export class AppModule { }
Run Code Online (Sandbox Code Playgroud)
app.component.ts
import { Component, OnInit} from '@angular/core';
import { …Run Code Online (Sandbox Code Playgroud) 我想测试一个具有多个值的字段对单值,我的SQL就像.
WHERE id (1);Run Code Online (Sandbox Code Playgroud)
数据库值就像
id
---
1,2
2,3
1,3,4Run Code Online (Sandbox Code Playgroud)
笨
$this->db->select('*');
$this->db->from('content');
$this->db->where('name', $name);
$this->db->where('id', $id);Run Code Online (Sandbox Code Playgroud)
我试过了
$this->db->where_in('id', explode(',', $id));Run Code Online (Sandbox Code Playgroud)
但它不起作用.请帮我解决这个问题.
我已经编写了关于图像上传的代码,但它在byexost服务器上不起作用.我在"uploads/products"服务器的根位置下创建了目录,该文件夹也是可写的,但它仍然无法正常工作.请帮忙.
我打开了应用程序的错误日志记录.如果我访问"application/logs"目录的日志文件,则显示错误.
错误 - 2018-03-25 00:47:08 - > 404找不到页面:/ index
错误 - 2018-03-25 00:58:24 - >上传路径似乎无效.
byexost服务器中图像上传目录的图片
我的产品控制器代码.
if(isset($_FILES['productimage']['name'])){
$filename = $_FILES['productimage']['name'];
$config['file_name'] = $filename;
$config['upload_path'] = realpath(FCPATH.'uploads/products/');
$config['allowed_types'] = 'jpg|jpeg|png';
$config['remove_spaces'] = TRUE;
$config['encrypt_name'] = TRUE;
$config['min_width'] = 360;
$config['min_height'] = 360;
$config['max_width'] = 360;
$config['max_height'] = 360;
$this->upload->initialize($config);
if($this->upload->do_upload('productimage')){
$uploadeddata = $this->upload->data();
$data['image'] = $uploadeddata['file_name'];
}else{
$this->session->set_flashdata('error', $this->upload->display_errors());
$result = array("status"=>false, "message"=>$this->upload->display_errors());
}
}
Run Code Online (Sandbox Code Playgroud) 我第一次尝试在MAMP中使用nginx服务器而不是用于Codeigniter的apache服务器.我将我的apache htaccess重写规则转换为nginx重写规则.但它显示的是我文件中的index.php文件代码而不是我的网站.这是我的apache htaccess规则,
DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]
Run Code Online (Sandbox Code Playgroud)
这是我的nginx配置文件,
http {
include mime.types;
default_type text/html;
gzip on;
gzip_types text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
sendfile on;
server {
listen 80 default_server;
# MAMP DOCUMENT_ROOT !! Don't remove this line !!
root "C:/MAMP/htdocs/aia_inventory/";
access_log C:/MAMP/logs/nginx_access.log;
error_log C:/MAMP/logs/nginx_error.log;
index index.html index.htm index.php;
#autoindex on;
#server_name localhost;
location ~/ {
#root C:/MAMP/htdocs/aia_inventory/;
#index index.html …Run Code Online (Sandbox Code Playgroud) 我试图在000webhost的共享服务器中使用codeigniter。我上传了包装的内容,如果输入
http://groceriesapi.000webhostapp.com/API/index.php/welcome/
它确实有效。但是,如果我访问:
http://groceriesapi.000webhostapp.com/API/welcome/
您得到404。
我在互联网上读到,应该用.htaccess文件解决此问题。首先,我的文件夹结构中有两个。它是这样的:
public_htm
application
plenty of things
.htaccess
other stuff
.htaccess
Run Code Online (Sandbox Code Playgroud)
我编辑外部.htacces,位于public_html的.htacces看起来像这样:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]
Run Code Online (Sandbox Code Playgroud)
现在访问简化的URL(http://groceriesapi.000webhostapp.com/API/welcome/)时,出现500内部服务器错误!
任何线索???
PS:我不在乎URL中间的index.php,但是每当收到错误消息时,整个codeigniter都会崩溃,我不知道出了什么问题..那是一个问题:(
我必须将基于 codeigniter 3 的 CRM 从 PHP 版本 7.4 迁移到版本 8.*。但当我探索 codeigniter 3 与 php 8 的兼容性时,我发现很少有答案说它不兼容。
但这个答案已经很旧了(大约 1 到 2 年)。两个参考是: Codeigniter 论坛 codeigniter github
所以,作为参考是旧的。Codeigniter 3 目前支持 php 版本 8 吗?
我有这个迁移:
public function up(){
$this->dbforge->add_field([
'id'=>['type'=>'int', 'unique'=>true, 'unsigned'=>true,'auto_increment'=>true],
'email'=>['type'=>'varchar', 'constraint'=>200, 'null'=>true],
'password'=>['type'=>'varchar', 'constraint'=>250],
'created_at'=>['type'=>'datetime', 'default' => 'CURRENT_TIMESTAMP'],
]);
$this->dbforge->add_key('id', TRUE);
$this->dbforge->create_table('users', TRUE);
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试设置created_at带有默认值列的表- 当前日期时间。我正在使用'default' => 'CURRENT_TIMESTAMP',但出现此错误:
'created_at' 的默认值无效 .... NOT NULL,
created_atdatetime NOT NULL DEFAULT 'CURRENT_TIMESTAMP',
我使用CodeIgniter 3带MySQL。
codeigniter-3 ×10
codeigniter ×6
php ×6
.htaccess ×1
angular ×1
get ×1
json ×1
mamp ×1
mysql ×1
nginx ×1
php-8 ×1
web-hosting ×1