Hola a todos,
Me están apareciendo distintos errores en la tienda, como por ejemplo:
Notice: Undefined index: to in /var/www/vhosts/xxx.es/httpdocs/cache/smarty/compile/01/9e/e7/019ee7299abe85495ecb4d0750133329836901c5.file.iqitcountdown.tpl.php on line 27
Y viendo que no soy capaz de arreglarlos, estoy intentando que no se notifique los errores Notice (que no tienen tanta importancia) en la tienda, para que los clientes no los vean.
Estoy trabajando en Apache, por si sirve de algo, ya que el hosting no me permite FastCGI.
No puedo acceder a php.ini. y creo que únicamente podría desactivarlos desde .htaccess. en algunos sitios indican que ponga este código:
php_value error_reporting 2
php_flag display_errors On
Y en otros este:
php_flag display_errors 1
php_value error_reporting 7
Como no sabia que hacer, me puse en contacto con mi hosting y ellos en htaccess pusieron lo siguiente:
php_value error_reporting 2039
Que no ha funcionado. Su repuesta es que es mi aplicación (la serie de ficheros php)-supongo que se refiere a prestashop, es la que define que se muestren esos avisos, por lo que como es un tema de programación debo hacer yo sola los cambios.. :(.
En fin no tengo ni idea de que hacer, espero que alguno de vosotros sepa com arreglarlo.
Mil gracias 🙂
Revisa el fichero defines.inc.php que se encuentra en la carpeta config y fijate que este codigo lo tegas asi.
else
{
@ini_set('display_errors', 'off');
define('_PS_DEBUG_SQL_', false);
}
Telegram:@Josraso
Correo
Esto es lo que tengo en defines.inc.php, al parecer si esta como tu dices:
/* Debug only */
if (!defined('_PS_MODE_DEV_'))
define('_PS_MODE_DEV_', true);
/* Compatibility warning */
define('_PS_DISPLAY_COMPATIBILITY_WARNING_', false);
if (_PS_MODE_DEV_)
{
@ini_set('display_errors', 'on');
@error_reporting(E_ALL | E_STRICT);
define('_PS_DEBUG_SQL_', true);
}
else
{
@ini_set('display_errors', 'off');
define('_PS_DEBUG_SQL_', false);
}
define('_PS_DEBUG_PROFILING_', false);
define('_PS_MODE_DEMO_', false);
$currentDir = dirname(__FILE__);
if (!defined('PHP_VERSION_ID'))
{
$version = explode('.', PHP_VERSION);
define('PHP_VERSION_ID', ($version[0] * 10000 + $version[1] * 100 + $version[2]));
}
if (!defined('_PS_VERSION_') && (getenv('_PS_VERSION_') || getenv('REDIRECT__PS_VERSION_')))
define('_PS_VERSION_', getenv('_PS_VERSION_') ? getenv('_PS_VERSION_') : getenv('REDIRECT__PS_VERSION_'));
if (!defined('_PS_HOST_MODE_') && (getenv('_PS_HOST_MODE_') || getenv('REDIRECT__PS_HOST_MODE_')))
define('_PS_HOST_MODE_', getenv('_PS_HOST_MODE_') ? getenv('_PS_HOST_MODE_') : getenv('REDIRECT__PS_HOST_MODE_'));
if (!defined('_PS_ROOT_DIR_') && (getenv('_PS_ROOT_DIR_') || getenv('REDIRECT__PS_ROOT_DIR_')))
define('_PS_ROOT_DIR_', getenv('_PS_ROOT_DIR_') ? getenv('_PS_ROOT_DIR_') : getenv('REDIRECT__PS_ROOT_DIR_'));
/* Directories */
if (!defined('_PS_ROOT_DIR_'))
{
define('_PS_ROOT_DIR_', realpath($currentDir.'/..'));
if (!defined('_PS_CORE_DIR_'))
define('_PS_CORE_DIR_', _PS_ROOT_DIR_);
}
elseif (!defined('_PS_CORE_DIR_'))
define('_PS_CORE_DIR_', realpath($currentDir.'/..'));
define('_PS_ALL_THEMES_DIR_', _PS_ROOT_DIR_.'/themes/');
/* BO THEMES */
if (defined('_PS_ADMIN_DIR_'))
define('_PS_BO_ALL_THEMES_DIR_', _PS_ADMIN_DIR_.'/themes/');
define('_PS_CACHE_DIR_', _PS_ROOT_DIR_.'/cache/');
define('_PS_CONFIG_DIR_', _PS_CORE_DIR_.'/config/');
define('_PS_CLASS_DIR_', _PS_CORE_DIR_.'/classes/');
define('_PS_DOWNLOAD_DIR_', _PS_ROOT_DIR_.'/download/');
define('_PS_MAIL_DIR_', _PS_CORE_DIR_.'/mails/');
if (!defined('_PS_MODULE_DIR_'))
define('_PS_MODULE_DIR_', _PS_ROOT_DIR_.'/modules/');
if (!defined('_PS_OVERRIDE_DIR_'))
define('_PS_OVERRIDE_DIR_', _PS_ROOT_DIR_.'/override/');
define('_PS_PDF_DIR_', _PS_CORE_DIR_.'/pdf/');
define('_PS_TRANSLATIONS_DIR_', _PS_ROOT_DIR_.'/translations/');
define('_PS_UPLOAD_DIR_', _PS_ROOT_DIR_.'/upload/');
define('_PS_CONTROLLER_DIR_', _PS_CORE_DIR_.'/controllers/');
define('_PS_ADMIN_CONTROLLER_DIR_', _PS_CORE_DIR_.'/controllers/admin/');
define('_PS_FRONT_CONTROLLER_DIR_', _PS_CORE_DIR_.'/controllers/front/');
define('_PS_TOOL_DIR_', _PS_CORE_DIR_.'/tools/');
define('_PS_GEOIP_DIR_', _PS_TOOL_DIR_.'geoip/');
define('_PS_PEAR_XML_PARSER_PATH_', _PS_TOOL_DIR_.'pear_xml_parser/');
define('_PS_SWIFT_DIR_', _PS_TOOL_DIR_.'swift/');
define('_PS_TAASC_PATH_', _PS_TOOL_DIR_.'taasc/');
define('_PS_TCPDF_PATH_', _PS_TOOL_DIR_.'tcpdf/');
define('_PS_IMG_DIR_', _PS_ROOT_DIR_.'/img/');
if (!defined('_PS_HOST_MODE_'))
define('_PS_CORE_IMG_DIR_', _PS_CORE_DIR_.'/img/');
else
define('_PS_CORE_IMG_DIR_', _PS_ROOT_DIR_.'/img/');
define('_PS_CAT_IMG_DIR_', _PS_IMG_DIR_.'c/');
define('_PS_COL_IMG_DIR_', _PS_IMG_DIR_.'co/');
define('_PS_EMPLOYEE_IMG_DIR_', _PS_IMG_DIR_.'e/');
define('_PS_GENDERS_DIR_', _PS_IMG_DIR_.'genders/');
define('_PS_LANG_IMG_DIR_', _PS_IMG_DIR_.'l/');
define('_PS_MANU_IMG_DIR_', _PS_IMG_DIR_.'m/');
define('_PS_ORDER_STATE_IMG_DIR_', _PS_IMG_DIR_.'os/');
define('_PS_PROD_IMG_DIR_', _PS_IMG_DIR_.'p/');
define('_PS_SCENE_IMG_DIR_', _PS_IMG_DIR_.'scenes/');
define('_PS_SCENE_THUMB_IMG_DIR_', _PS_IMG_DIR_.'scenes/thumbs/');
define('_PS_SHIP_IMG_DIR_', _PS_IMG_DIR_.'s/');
define('_PS_STORE_IMG_DIR_', _PS_IMG_DIR_.'st/');
define('_PS_SUPP_IMG_DIR_', _PS_IMG_DIR_.'su/');
define('_PS_TMP_IMG_DIR_', _PS_IMG_DIR_.'tmp/');
/* settings php */
define('_PS_TRANS_PATTERN_', '(.*[^\])');
define('_PS_MIN_TIME_GENERATE_PASSWD_', '360');
if (!defined('_PS_MAGIC_QUOTES_GPC_'))
define('_PS_MAGIC_QUOTES_GPC_', get_magic_quotes_gpc());
define('_CAN_LOAD_FILES_', 1);
/* Order statuses
Order statuses have been moved into config.inc.php file for backward compatibility reasons */
/* Tax behavior */
define('PS_PRODUCT_TAX', 0);
define('PS_STATE_TAX', 1);
define('PS_BOTH_TAX', 2);
define('_PS_PRICE_DISPLAY_PRECISION_', 2);
define('PS_TAX_EXC', 1);
define('PS_TAX_INC', 0);
define('PS_ORDER_PROCESS_STANDARD', 0);
define('PS_ORDER_PROCESS_OPC', 1);
define('PS_ROUND_UP', 0);
define('PS_ROUND_DOWN', 1);
define('PS_ROUND_HALF', 2);
/* Registration behavior */
define('PS_REGISTRATION_PROCESS_STANDARD', 0);
define('PS_REGISTRATION_PROCESS_AIO', 1);
/* Carrier::getCarriers() filter */
// these defines are DEPRECATED since 1.4.5 version
define('PS_CARRIERS_ONLY', 1);
define('CARRIERS_MODULE', 2);
define('CARRIERS_MODULE_NEED_RANGE', 3);
define('PS_CARRIERS_AND_CARRIER_MODULES_NEED_RANGE', 4);
define('ALL_CARRIERS', 5);
/* SQL Replication management */
define('_PS_USE_SQL_SLAVE_', 0);
/* PS Technical configuration */
define('_PS_ADMIN_PROFILE_', 1);
/* Stock Movement */
define('_STOCK_MOVEMENT_ORDER_REASON_', 3);
define('_STOCK_MOVEMENT_MISSING_REASON_', 4);
/**
* @deprecated 1.5.0.1
* @see Configuration::get('PS_CUSTOMER_GROUP')
*/
define('_PS_DEFAULT_CUSTOMER_GROUP_', 3);
define('_PS_CACHEFS_DIRECTORY_', _PS_ROOT_DIR_.'/cache/cachefs/');
/* Geolocation */
define('_PS_GEOLOCATION_NO_CATALOG_', 0);
define('_PS_GEOLOCATION_NO_ORDER_', 1);
define('MIN_PASSWD_LENGTH', 8);
define('_PS_SMARTY_NO_COMPILE_', 0);
define('_PS_SMARTY_CHECK_COMPILE_', 1);
define('_PS_SMARTY_FORCE_COMPILE_', 2);
define('_PS_SMARTY_CONSOLE_CLOSE_', 0);
define('_PS_SMARTY_CONSOLE_OPEN_BY_URL_', 1);
define('_PS_SMARTY_CONSOLE_OPEN_', 2);
define('_PS_JQUERY_VERSION_', '1.11.0');
Fijate en la linea anterior donde tienes un on, en esta linea
{ @ini_set('display_errors', 'on'); @error_reporting(E_ALL | E_STRICT); define('_PS_DEBUG_SQL_', true);}
Dejala asi
{ @ini_set('display_errors', 'off'); @error_reporting(E_ALL | E_STRICT); define('_PS_DEBUG_SQL_', true);}
Telegram:@Josraso
Correo
Seguramente digo una burrada pero había leído que se podia usar error reporting y ponerlo así: php_value error_reporting "E_ALL ^ E_NOTICE", pero claro no era en el archivo defines.inc.php.
¿tu cambiarías esto?:
{
@ini_set('display_errors', 'on');
@error_reporting(E_ALL | E_STRICT);
define('_PS_DEBUG_SQL_', true);
¿Y pondrías esto?:
{
@ini_set('display_errors', 'on');
@error_reporting(E_ALL ^ E_NOTICE);
define('_PS_DEBUG_SQL_', true);
Ya te digo seguramente es una tontería...
Gracias por ayudarme.
Vale ya he visto lo que dices, ahora lo pruebo ¿con eso me aparecerían los demás errores y no los notice, que son los únicos que no me interesan?
Genial! ya funciona 😀
Muchisimas gracias Josraso!!!!!!
La única duda que me queda es si con esto seguiré viendo los demás errores y solo he desactivado los notice.
Asi de esta manera hemos desactivado todos los errores, para mostrarlos tedras que activarlos de nuevo, creo recordar que para ver solo los que quieres tendrias que editar la primera linea a la que te hice mencion.
Telegram:@Josraso
Correo
vaya!! Ya me lo imaginaba.. bueno, tengo la opción de activarla cuando quiera ver los errores..
Porque lo que te he comentado de :
@error_reporting(E_ALL ^ E_NOTICE);
No es correcto, no?
De cualquier manera, lo dicho, muchas gracias por la ayuda..
¿Seguro que no era solo necesario cambiar esto define('_PS_MODE_DEV_', true); por define('_PS_MODE_DEV_', false); ?