GVKun编程网logo

PHP,致命错误:为什么调用未定义的方法?(php调用未定义的函数怎么解决)

7

如果您对PHP,致命错误:为什么调用未定义的方法?和php调用未定义的函数怎么解决感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解PHP,致命错误:为什么调用未定义的方法?的各种细节,并对php

如果您对PHP,致命错误:为什么调用未定义的方法?php调用未定义的函数怎么解决感兴趣,那么这篇文章一定是您不可错过的。我们将详细讲解PHP,致命错误:为什么调用未定义的方法?的各种细节,并对php调用未定义的函数怎么解决进行深入的分析,此外还有关于CakePHP – 致命错误:调用未定义的函数、Docker:致命错误:未捕获错误:调用未定义的函数 mysql_connect()、Laravel 4:PHP致命错误:调用未定义的方法Blueprint :: int()、Linux PHP致命错误:调用未定义的函数mysqli_connect()的实用技巧。

本文目录一览:

PHP,致命错误:为什么调用未定义的方法?(php调用未定义的函数怎么解决)

PHP,致命错误:为什么调用未定义的方法?(php调用未定义的函数怎么解决)

我有一个简单的PHP结构.

class Ingredient和class Ingredients,我有以下代码:

class Ingredient
{   
   public function objectIsValid()
   {
      return $validate[0];
   }
}



class Ingredients
{
   public $ingObject;
   function __construct(){   $ingObject = new Ingredient();   }

   public function validateData()
   {
      if($this->ingObject->objectIsValid()      /*** THE ERROR  ***/)
    {   echo "OK";}
      else
    {   echo "NOT";}
   } 
}


$Ingridients = new Ingredients();


$Ingridients->validateData();

我只是不明白为什么我会得到错误.

任何帮助将不胜感激.

谢谢!

解决方法:

function __construct(){   $ingObject = new Ingredient();   }

必定是

function __construct(){   $this->ingObject = new Ingredient();   }

在第一种情况下,您设置的是局部变量,而不是字段,因此它保持为空.然后在validateData上,对null变量调用一个方法.

我假设您已删除一些代码,因为您的Ingredient类没有意义(这里有一个$validate变量,未定义).

CakePHP – 致命错误:调用未定义的函数

CakePHP – 致命错误:调用未定义的函数

我收到以下错误:

Fatal error: Call to undefined function getAvnet() in C:\xampp\htdocs\ems\app\controllers\queries_controller.PHP on line 23

这条线是:

$ret = getAvnet('de',$searchstring);

据说打电话

function getAvnet($country,$query)
你需要使用
$ret = $this->getAvnet('de',$searchstring);

一般来说,你需要使用$this->访问类方法和变量时.

阅读:http://php.net/manual/en/language.oop5.basic.php

Docker:致命错误:未捕获错误:调用未定义的函数 mysql_connect()

Docker:致命错误:未捕获错误:调用未定义的函数 mysql_connect()

如何解决Docker:致命错误:未捕获错误:调用未定义的函数 mysql_connect()?

我正在尝试设置在 docker 上运行的 wordpress 网站。它有 3 个服务,数据库,ssl_certficate,wordpress。

wordpress+数据库按预期工作。但是当我添加第三个服务时,即添加 SSL 证书。我收到了意想不到的错误。

docker-compose.yml 看起来像这样

version: ''3.0''
  
services:
    #Database
    mariadb:
        image: mariadb:10.4
        volumes:
            - ./database:/var/lib/MysqL
        restart: always
        environment:
            MysqL_ROOT_PASSWORD: password
            MysqL_DATABASE: databasename
            MysqL_USER: user
            MysqL_PASSWORD: user
        networks:
            - shopme
    #wordpress
    wordpress:
        depends_on:
            - mariadb
        image: wordpress:latest
        restart: always
        volumes:
            - ''./:/var/www/html''
            - ./uploads.ini:/usr/local/etc/PHP/conf.d/uploads.ini
        environment:
            wordpress_DB_HOST: mariadb:3306
            wordpress_DB_NAME: databasename
            wordpress_DB_USER: user
            wordpress_DB_PASSWORD: user
        networks:
            - shopme
    ssl:
      depends_on:
         - mariadb
         - wordpress
      build:
         context: ./apache2/
         dockerfile: Dockerfile
      ports:
         - ''80:80''
         - ''443:443''
      volumes:
         - ./:/var/www/html
         - /home/ubuntu/certs:/var/certs
         - /home/ubuntu/configs:/etc/apache2/sites-enabled
      links:
         - mariadb
      networks:
         - shopme
networks:
    shopme:
volumes:
    mariadb:

Docker 文件如下所示:

FROM PHP:7.2-apache
  
# Setup Apache2 mod_ssl
RUN a2enmod ssl
# Working DIR
workdir /var/www/html

当我尝试访问该网站时,出现以下错误:

致命错误:未捕获的错误:调用未定义的函数 MysqL_connect() 在 /var/www/html/wp-includes/wp-db.PHP:1688

但是,当我从 ssl 服务卷中删除 ./:/var/www/html 时,我收到了不同的错误

禁止您无权访问此资源

与禁止错误相关的日志:

无法提供目录 /var/www/html/: 没有匹配的 DirectoryIndex (index.PHP,index.html) 找到,以及服务器生成的目录索引 被选项指令禁止

我只想创建一个单独的服务来放置我的证书并使用那个(ssl)容器打开端口(80 和 443)。所以 wordpress 会与 SSL Container 通信以添加证书。

任何线索可能是什么问题?我真的很感激哪怕是一点点帮助。

提前致谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

Laravel 4:PHP致命错误:调用未定义的方法Blueprint :: int()

Laravel 4:PHP致命错误:调用未定义的方法Blueprint :: int()

我编译了Laravel 4的新安装,我在生成迁移并尝试通过artisan迁移后出现此错误:

PHP Fatal error: Call to undefined method Illuminate\Database\Schema\Blueprint::int() in /home/casey/Sites/caseyhoffmann.me/laravel4/app/database/migrations/2013_10_22_232234_create_users_table.PHP on line 22
{“error”:{“type”:”Symfony\Component\Debug\Exception\FatalErrorException”,”message”:”Call to undefined method Illuminate\Database\Schema\Blueprint::int()”,”file”:”/home/casey/Sites/caseyhoffmann.me/laravel4/app/database/migrations/2013_10_22_232234_create_users_table.PHP”,”line”:22}}

我试过重新编译Laravel但无济于事.

有什么想法或建议吗?

您的int()应该在迁移文件中替换为integer().像这样:

$table->integer('user_id');

Linux PHP致命错误:调用未定义的函数mysqli_connect()

Linux PHP致命错误:调用未定义的函数mysqli_connect()

我有关于连接数据库的问题,它给出了这个错误

@R_301_2719@: Call to undefined function MysqLi_connect()

其中,我花了4个多小时试图想出来,我已经做了以下步骤:

>更改extension = MysqL.so和extension = MysqLi.so
> extension_dir = / PATH for PHP.ini
>检查加载了哪些模块或使用PHP-m安装

我只是把我的INFOPHP()放在PASTEBIN抱歉,我的网站在用户名和密码保护下运行,因为它是一个私人大学服务器..

http://pastebin.com/dKKdwWTb

我不太清楚我还能做些什么,以防我为PHP.ini文件添加了粘贴bin的链接

http://pastebin.com/QNK6mGqV

好吧,我希望有人能看到我能看到的东西,并能帮助我.

解决方法

检查网页中PHPinfo()的输出. PHP -m用于cli,你的mod_apache可能使用的是不同于cli的PHP.ini.

编辑

看到你的网络PHPinfo()后,我们可以看到我的假设是正确的.你真的为你的apache使用不同的PHP.ini,并且在其中没有启用MysqLi扩展.
在PHPinfo()输出中,您可以获得有关PHP.ini文件的位置的详细信息,以及扩展目录的位置.

干杯.

今天的关于PHP,致命错误:为什么调用未定义的方法?php调用未定义的函数怎么解决的分享已经结束,谢谢您的关注,如果想了解更多关于CakePHP – 致命错误:调用未定义的函数、Docker:致命错误:未捕获错误:调用未定义的函数 mysql_connect()、Laravel 4:PHP致命错误:调用未定义的方法Blueprint :: int()、Linux PHP致命错误:调用未定义的函数mysqli_connect()的相关知识,请在本站进行查询。

本文标签: