{"action":"closed","issue":{"url":"https://api.github.com/repos/zenovich/runkit/issues/63","labels_url":"https://api.github.com/repos/zenovich/runkit/issues/63/labels{/name}","comments_url":"https://api.github.com/repos/zenovich/runkit/issues/63/comments","events_url":"https://api.github.com/repos/zenovich/runkit/issues/63/events","html_url":"https://github.com/zenovich/runkit/issues/63","id":26729789,"number":63,"title":"Crashes with runkit_function_rename() on internal functions on php-mod mode","user":{"login":"baptistepillot","id":3451236,"avatar_url":"https://avatars.githubusercontent.com/u/3451236?v=3","gravatar_id":"","url":"https://api.github.com/users/baptistepillot","html_url":"https://github.com/baptistepillot","followers_url":"https://api.github.com/users/baptistepillot/followers","following_url":"https://api.github.com/users/baptistepillot/following{/other_user}","gists_url":"https://api.github.com/users/baptistepillot/gists{/gist_id}","starred_url":"https://api.github.com/users/baptistepillot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/baptistepillot/subscriptions","organizations_url":"https://api.github.com/users/baptistepillot/orgs","repos_url":"https://api.github.com/users/baptistepillot/repos","events_url":"https://api.github.com/users/baptistepillot/events{/privacy}","received_events_url":"https://api.github.com/users/baptistepillot/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2014-02-01T02:49:08Z","updated_at":"2015-08-24T13:43:41Z","closed_at":"2015-08-24T13:43:41Z","body":"```php\r\necho \"function exists ? \" . function_exists('_chop') . \"<br>\";\r\necho chop(\"[ A WORD \") . \"]<br>\";\r\nif (function_exists('_chop')) echo _chop(\"[ ANOTHER WORD \") . \"]<br>\";\r\nrunkit_function_rename('chop', '_chop');\r\n```\r\nIf I refresh the page executing this script quickly (less than 5 seconds, as apache can use the same process for the next script execution than the previous one) :\r\n- first result is \"function exists ?\" without any error :\r\n```\r\nfunction exists ? \r\n[ A WORD]\r\n```\r\n- after some F5 : next results will be \"function exists ? 1\" with a warning when I rename saying \"_chop() already exists\".\r\n```\r\nfunction exists ? 1\r\n[ A WORD]\r\n[ ANOTHER WORD]\r\n```\r\nIt looks like php kept in its memory the _chop function, that keep working well !\r\nThis is done with internal functions only. Php defined functions work well.\r\n\r\nTested and reproduced on several computers under xubuntu 13.10 using PHP 5.5.3, installed as an apache module (common use).\r\n\r\nAnd you can make an ```runkit_method_delete('_chop')``` if you want : it will not be here for the current script, but will come back on the next execution using the same process !\r\n\r\nI don't want to run php-cgi, sorry :)"}}