繁体   English   中英

PHP升级后application.ini中的常量问题

[英]Problem with constants in application.ini after PHP upgrade

我已经将本地开发系统上的PHP升级到了5.3.0版,并且在application.ini中使用常量时出现了一些问题-请按照手册http://framework.zend.com/manual/zh/learning.quickstart进行操作。 create-project.html我有:

bootstrap.path = APPLICATION_PATH "/Bootstrap.php"

这导致:

Warning: require_once(APPLICATION_PATH/Bootstrap.php) [function.require-once]: failed to open stream: No such file or directory in Zend\Application.php on line 320

有任何想法吗?


解决了:

实际上我的常量的名称是_DIR_APPLICATION(上面的代码是从ZF手册复制的)-问题在于开头的下划线-PHP 5.3.0中的parse_ini_file()似乎不能替换这样命名的常量。

简短测试-您需要两个文件:

test.ini

bootstrap.path = _DIR_APPLICATION "/Bootstrap.php"
bootstrap.class = "Bootstrap"

和test.php

<?php

define('_DIR_APPLICATION', 'test');

$data = parse_ini_file('test.ini');
print_r($data);

尝试运行,然后将常量名称更改为“ DIR_APPLICATION”(在两个文件中)并比较结果;)

您的问题可能与php 5.3.0中对'open_basedir'的更改有关

cf. http://www.php.net/manual/fr/ini.core.php#ini.include-path

open_basedir值可以在您的httpd.conf中,在php.ini中或在运行时使用ini_set()进行设置。 我建议您使用phpinfo()来查看此值,在您使用的2个PHP版本之间进行比较。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM