{"id":276,"date":"2011-06-13T09:41:08","date_gmt":"2011-06-13T08:41:08","guid":{"rendered":"http:\/\/blog.ludovicfavre.ch\/?p=276"},"modified":"2011-06-13T09:41:39","modified_gmt":"2011-06-13T08:41:39","slug":"codeigniter-1-7-et-passage-a-php-5-3","status":"publish","type":"post","link":"https:\/\/www.ludovicfavre.ch\/blog\/2011\/06\/codeigniter-1-7-et-passage-a-php-5-3\/","title":{"rendered":"CodeIgniter 1.7 et passage \u00e0 PHP 5.3"},"content":{"rendered":"<p>Ayant migr\u00e9 mon site sur PHP 5.3 (migration propos\u00e9e par Infomaniak, qui h\u00e9berge mon blog et mon site), je me suis rendu compte de quelques probl\u00e8mes avec mon site fonctionnant sous CodeIgniter 1.7.  L&rsquo;erreur suivante apparaissait \u00e0 la place des pages:<\/p>\n<blockquote><p>The URI you submitted has disallowed characters<\/p><\/blockquote>\n<p>La cause ? Tel que mentionn\u00e9 dans la source, avec PHP 5.3, le symbole <em>\u00ab\u00a0&#8211;\u00a0\u00bb (trait d&rsquo;union) <\/em>est \u00e9chapp\u00e9 par la fonction <em>preg_quote<\/em> avec un antislash.  Du coup, les expression du type\u00a0\u201ca-z 0-9\u2033 sont converties vers \u201ca\\-z 0\\-9\u2033 ce qui rend la regex invalide.<br \/>\n<!--more--><br \/>\nComme indiqu\u00e9 dans la source, il y a deux fichiers \u00e0 modifier:<\/p>\n<ol>\n<li><em>system\/libraries\/URI.php<\/em> ligne 189:\n<div class=\"codecolorer-container php default\" style=\"overflow:auto;white-space:nowrap;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/><\/div><\/td><td><div class=\"php codecolorer\"><span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span> <span class=\"sy0\">!<\/span> <a href=\"http:\/\/www.php.net\/preg_match\"><span class=\"kw3\">preg_match<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;|^[&quot;<\/span><span class=\"sy0\">.<\/span><a href=\"http:\/\/www.php.net\/preg_quote\"><span class=\"kw3\">preg_quote<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"re0\">$this<\/span><span class=\"sy0\">-&gt;<\/span><span class=\"me1\">config<\/span><span class=\"sy0\">-&gt;<\/span><span class=\"me1\">item<\/span><span class=\"br0\">&#40;<\/span><span class=\"st_h\">'permitted_uri_chars'<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;]+$|i&quot;<\/span><span class=\"sy0\">,<\/span> <a href=\"http:\/\/www.php.net\/rawurlencode\"><span class=\"kw3\">rawurlencode<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"re0\">$str<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>Remplacer par:<\/p>\n<div class=\"codecolorer-container php default\" style=\"overflow:auto;white-space:nowrap;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/><\/div><\/td><td><div class=\"php codecolorer\"><span class=\"kw1\">if<\/span> <span class=\"br0\">&#40;<\/span> <span class=\"sy0\">!<\/span> <a href=\"http:\/\/www.php.net\/preg_match\"><span class=\"kw3\">preg_match<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"st0\">&quot;|^[&quot;<\/span><span class=\"sy0\">.<\/span><span class=\"br0\">&#40;<\/span><span class=\"re0\">$this<\/span><span class=\"sy0\">-&gt;<\/span><span class=\"me1\">config<\/span><span class=\"sy0\">-&gt;<\/span><span class=\"me1\">item<\/span><span class=\"br0\">&#40;<\/span><span class=\"st_h\">'permitted_uri_chars'<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"sy0\">.<\/span><span class=\"st0\">&quot;]+$|i&quot;<\/span><span class=\"sy0\">,<\/span> <a href=\"http:\/\/www.php.net\/rawurlencode\"><span class=\"kw3\">rawurlencode<\/span><\/a><span class=\"br0\">&#40;<\/span><span class=\"re0\">$str<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><span class=\"br0\">&#41;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<\/li>\n<li><em>system\/application\/config\/config.php<\/em> ligne 126:\n<div class=\"codecolorer-container php default\" style=\"overflow:auto;white-space:nowrap;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/><\/div><\/td><td><div class=\"php codecolorer\"><span class=\"re0\">$config<\/span><span class=\"br0\">&#91;<\/span><span class=\"st_h\">'permitted_uri_chars'<\/span><span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> <span class=\"st_h\">'a-z 0-9~%.:_-'<\/span><span class=\"sy0\">;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<p>Remplacer par:<\/p>\n<div class=\"codecolorer-container php default\" style=\"overflow:auto;white-space:nowrap;\"><table cellspacing=\"0\" cellpadding=\"0\"><tbody><tr><td class=\"line-numbers\"><div>1<br \/><\/div><\/td><td><div class=\"php codecolorer\"><span class=\"re0\">$config<\/span><span class=\"br0\">&#91;<\/span><span class=\"st_h\">'permitted_uri_chars'<\/span><span class=\"br0\">&#93;<\/span> <span class=\"sy0\">=<\/span> <span class=\"st_h\">'a-z 0-9~%\\.\\:_\\-'<\/span><span class=\"sy0\">;<\/span><\/div><\/td><\/tr><\/tbody><\/table><\/div>\n<\/li>\n<\/ol>\n<p>Ca pourra \u00e9ventuellement vous servir \u00e9tant donn\u00e9 que PHP 5.3 commence \u00e0 \u00eatre mis en place par les h\u00e9bergeurs.<br \/>\nConcernant le site, CodeIgniter 1.7 restera le framework de base en attendant la version Symfony 2 que je dois encore tester. Il devrait ensuite contenir un peu plus de choses int\u00e9ressantes.<\/p>\n<p><em>Source: <a title=\"http:\/\/davidmichaelthompson.com\/2009\/09\/03\/fixed-the-uri-you-submitted-has-disallowed-characters-error-codeigniter\/\" href=\"http:\/\/davidmichaelthompson.com\/2009\/09\/03\/fixed-the-uri-you-submitted-has-disallowed-characters-error-codeigniter\/\" target=\"_blank\">http:\/\/davidmichaelthompson.com\/2009\/09\/03\/fixed-the-uri-you-submitted-has-disallowed-characters-error-codeigniter\/<\/a><\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ayant migr\u00e9 mon site sur PHP 5.3 (migration propos\u00e9e par Infomaniak, qui h\u00e9berge mon blog et mon site), je me suis rendu compte de quelques probl\u00e8mes avec mon site fonctionnant sous CodeIgniter 1.7. L&rsquo;erreur suivante apparaissait \u00e0 la place des &hellip; <a href=\"https:\/\/www.ludovicfavre.ch\/blog\/2011\/06\/codeigniter-1-7-et-passage-a-php-5-3\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[70],"tags":[42,17],"class_list":["post-276","post","type-post","status-publish","format-standard","hentry","category-php","tag-memo","tag-php"],"_links":{"self":[{"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/posts\/276","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/comments?post=276"}],"version-history":[{"count":13,"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/posts\/276\/revisions"}],"predecessor-version":[{"id":372,"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/posts\/276\/revisions\/372"}],"wp:attachment":[{"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/media?parent=276"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/categories?post=276"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ludovicfavre.ch\/blog\/wp-json\/wp\/v2\/tags?post=276"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}