还有一个问题。
PHP Warning:  PHP Startup: Invalid library (maybe not a PHP library) 'libmcrypt.dll' in Unknown on line 0
PHP Warning:  PHP Startup: Unable to load dynamic library '../PHP/ext\php_iconv.dll' - 中包含无效路径
 in Unknown on line 0这个怎么解决?在UE中调用php.exe调试输出的,但是正常使用没有问题。很郁闷的,DOS为什么会报错。
(注:我自己配置的移动配置,之前有报错,把libmcrypt.dll和php_iconv.dll放到/Windows目录下可用,现在却又报错了,郁闷。)

解决方案 »

  1.   

    1.错误提示的很清楚了,估计是你的程序存有BOM头。<?php之前不能有任何东西包括空格什么的
    2.这是给$phpinfo赋值,所以要在行末加上分号来正确关闭。
    3.错误提示给你的路径你看看对不对
      

  2.   

    1.页面是全新的,除了上面的代码没有其他的,<?php头顶在最上面写的。就是出了奇的无法声明。
    2.赋值语句没有报错,可以正常执行,报错的是在那两个调用方法上。
    3.错误路径下包含了上面两个dll文件,同时也复制到了系统目录下课,依旧报错,但是调用mcrypt可以正常使用…怪哉…
    4.谢谢大兄的细心解答…呵呵:)
      

  3.   

    第一个应该是bom头的问题
    第二个只是定义了$phpinfo是一个匿名函数,和phpinfo()没有半毛钱关系,并没有覆盖掉phpinfo(),后面加上';'  就正常了
    新特性支持以下语法:
    //Short array syntax
    $a=[1,2,3,4,5,6];//Array dereferencing
    function foo(){
     return array(1,2,3,4);
    }
    echo foo()[1];还有Buid-in web server和Traits   楼下接着补充
      

  4.   

    确认问题一:确实是UTF-8的BOM头问题,已解决:
    UE保存时采用格式为UTF-8 无BOM,搞定!
    延伸问题二:后面引号去除可以正确调用,但是为啥引号不添加却不会报错??
      

  5.   

    我也碰到了问题一,不过我的是因为首行写了 `#! /bin/env php`
    语言的变更很难三言两语讲完的,你最好查文档。
    以下是我查的关于php从5.3到5.4的变更
    http://www.php.net/manual/zh/migration54.php