debugging - El URI que ha enviado tiene caracteres no permitidos
zend-studio (3)
(Suponiendo que está utilizando la última versión de CodeIgniter (CI) que es 1.7.0)
CI es bastante estricto con respecto a los caracteres que permite en las URL. Puede modificar la expresión regular que se utiliza para filtrar las URL.
En system / config / config.php en la línea 126 es
$config[''permitted_uri_chars''] = ''a-z 0-9~%.:_/-'';
El comentario sobre esta línea lo explica todo, y qué valor centinela utilizar para anular este filtro y permitir todos los caracteres (es decir, desactivar el filtrado por completo).
En una nota al margen, encontré que CI es demasiado restrictivo (para empezar, no permite las solicitudes GET y quiere que todas las interacciones se realicen a través de POST. Esto me parece completamente loco y es como tirar al bebé con el agua del baño. , No soy el único que piensa que CI es demasiado restrictivo, el Proyecto Kohana es un fork de optimizaciones de CI +, es decir, soporte puro de php5 (todo OO), (CI todavía es compatible con PHP4 a expensas de no poder tomar ventaja de las capacidades PHP5 OO).
Prefiero Kohana sobre CI, YMMV
Tengo un proyecto de encendedor de código, y quería intentar depurarlo usando Zend Studio. Cuando empiezo a depurar, inmediatamente ejecuto ino
"El URI que ha enviado tiene caracteres no permitidos."
¿Alguien tiene alguna idea?
Si usa una versión anterior de CodeIgniter y PHP 5.4, debe modificar
if ( ! preg_match("|^[" . preg_quote($this->config->item(''permitted_uri_chars'')) . "]+$|i", $str)) {
dentro
if (FALSE === preg_match("|^[" . preg_quote($this->config->item(''permitted_uri_chars'')) . "]+$|i", $str)) {
en /system/libraries/URI.php
en el motor de expresiones, encontrará esto en /admin/expressionengine/config/config.php
$config[''permitted_uri_chars''] = ''a-z 0-9~%.:_//-'';
cambiar a
$config[''permitted_uri_chars''] = '''';
pero lea el comentario de la línea antes de hacer esto.
O no use nada basado en CI.