php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #71127 Define in auto_prepend_file is overwrite
Submitted: 2015-12-15 14:23 UTC Modified: 2015-12-15 15:10 UTC
From: g dot hue14 at gmail dot com Assigned: laruence (profile)
Status: Closed Package: opcache
PHP Version: 5.6 OS: Debian 8
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: g dot hue14 at gmail dot com
New email:
PHP Version: OS:

 

 [2015-12-15 14:23 UTC] g dot hue14 at gmail dot com
Description:
------------
Tested with wordpress and apache 2.4 / php-fpm

Define('ABSPATH','mypath') in an auto_prepend_file

When wp-load.php do "define( 'ABSPATH', dirname(__FILE__) . '/' );", my personnal ABSPATH is overwrite with that new ABSPATH.

if i put "get_defined_constants();" in wp-load.php just before "define( 'ABSPATH', dirname(__FILE__) . '/' );", ABSPATH is not overwrite.

Tip:
if i put "get_defined_constants();" in the auto_prepend_file just after my first define,  ABSPATH is  overwrite when wp-load.php do the define function.

if i put "get_defined_constants();" in a file include between the auto_prend_file and wp-load.php (like index.php or wp-blog-header.php)  ABSPATH is  overwrite when wp-load.php do the define function.

Expected result:
----------------
Normally (in php 5.4, php 5.6), a file cannot redefine a constante defined in an auto_prepend_file. 



Actual result:
--------------
Constantes defined in an auto_prepend_file can be redefined


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2015-12-15 15:00 UTC] laruence@php.net
-Package: *General Issues +Package: opcache -PHP Version: 7.0.0 +PHP Version: 5.6 -Assigned To: +Assigned To: laruence
 [2015-12-15 15:00 UTC] laruence@php.net
this is a opcache issue...
 [2015-12-15 15:10 UTC] laruence@php.net
fix is simple, just disable the constant replace in opcache, but it is a little pity we can not do such optimization :<

https://gist.github.com/laruence/5b281615ec068c2234d8
 [2015-12-17 06:32 UTC] laruence@php.net
Automatic comment on behalf of laruence@gmail.com
Revision: http://git.php.net/?p=php-src.git;a=commit;h=940c68b55d4241f9f34d4f71064f5f12a44e8d3d
Log: Fixed bug #71127 (Define in auto_prepend_file is overwrite)
 [2015-12-17 06:32 UTC] laruence@php.net
-Status: Assigned +Status: Closed
 [2023-08-26 16:26 UTC] taiwoemmanueltaiwo59 at yahoo dot com
adfsffs
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Nov 21 12:01:29 2024 UTC