本文目录一览:
- 1、ThinkPHP出现Call to undefined function bcadd怎么解决
- 2、PHP Fatal error:Call to undefined function()怎么解决?
- 3、php中怎么使用call
ThinkPHP出现Call to undefined function bcadd怎么解决
主要是因为ThinkPHP框架程序需要用到PHP bcmath扩展,而在默认我们安装或者编译PHP的时候没有一并编译进来。
我们有两个方法解决这个问题,一来重新编译PHP,把bcmath 重新添加编译,只是这个过程需要一些时间,或者我们下载PHP源码到服务器中,然后类似前天安装soap扩展一样的单独编译enable启动。这里,老蒋选择后者。
第一、选择PHP版本进入目录
这里我看到这位网友使用的是PHP5.3.17而且在当初是从WDCP面板5.2升级的,根目录有的安装包没有删除,所以我就不要去PHP官方网站删除,直接cd进入/ext/bcmath目录。
第二、编译启动bcmath过程
代码如下
/usr/local/php/bin/phpize
./configure --with-php-config=/www/wdlinux/php/bin/php-config --enable-bcmath
make make install
执行完毕之后,我们可以看到 :
代码如下
/www/wdlinux/apache_php-5.3.17/lib/php/extensions/no-debug-non-zts-20090626/
这样子的目录URL地址,这里记录下来,然后添加到对应的PHP版本PHP.INI文件最后一行。
代码如下
extension=/www/wdlinux/apache_php-5.3.17/lib/php/extensions/no-debug-non-zts-20090626/bcmath.so
第三、重启生效
代码如下
service httpd restart
从探针中可以看到bcmath扩展已经启动生效,安装ThinkPHP程序环境已经没有问题,网友告知已经可以解决问题,看来就是这个扩展作怪导致无法安装,与此同时,如果有缺少其他PHP扩展,也是用这个方法安装
更多问题可以去php中文网问答社区提问,大神在线帮你解决,希望对你有帮助
PHP Fatal error:Call to undefined function()怎么解决?
解决方法:
打开php目录
用记事本打开php.ini
做如下修改:
取消以下配置参数前面的分号
extension_dir =".\ext" #设置php模块路径为同目录下ext文件夹
register_globals= On #开启GET数据调用
short_open_tag =On #php支持短标签
cgi.force_redirect= 0 #开启以CGI方式运行php
fastcgi.impersonate= 1
cgi.rfc2616_headers= 1
extension=php_mbstring.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo_mysql.dll
服务器上的php版本不支持mssql_connect()函数
好像这种函数只能能运行在php5.2版本以下
php5.3开始, php本身不支持sql server数据库!
当然, 微软官方有相关的组件下载, 可以集成到php中从而支持sql server数据库!
但就算如此, 操作函数也不是mssql_connect()
而是其他的函数了!
php中怎么使用call
__call()(Method overloading)
为了避免当调用的方法不存在时产生错误,可以使用 __call() 方法来避免。该方法在调用的方法不存在时会自动调用,程序仍会继续执行下去。
语法:
function __call(string $function_name, array $arguments)
{
......
}
该方法有两个参数,第一个参数 $function_name 会自动接收不存在的方法名,第二个 $args 则以数组的方式接收不存在方法的多个参数。
在类里面加入:
function __call($function_name, $args)
{
echo "你所调用的函数:$function_name(参数:br /";
var_dump($args);
echo ")不存在!";
}如果还有不明白的话,你可以在后盾人看看视频找找答案,有空多看看时间长了,慢慢就明白了,希望能帮到你,给个采纳吧谢谢