| Autor | Zpráva | ||
|---|---|---|---|
| Martin02 Profil |
Ahoj,
používám prestashop a mám problém. if ($context->shop->domain != $context->shop->domain_ssl)
{
//$domains = array($context->shop->domain_ssl);
//$domains = array($context->shop->domain);
//$domains = array($context->shop->domain_ssl, $context->shop->domain);
$domains = array("a", "b");
}To je část kódu, kde 140. řádek je ten předposlední. A vyhazuje to tuto chybu: Parse error: syntax error, unexpected T_VARIABLE in /var/www/virtual/domena.cz/htdocs/presta/config/config.inc.php on line 140 To samé se stane, když tam dám i jednoduché přiřazení proměnné, např. $blabla = "ahoj";.
Tušíte někdo, co se děje? Že mi PHP neumí vytvořit proměnnou? Problém může být asi kdekoliv, možná i v konfiguraci php, ale nevím o ničem, co by bránilo vytváření proměnných. Děkuji Teď si ale uvědomuji, že kód, který s prestashopem nemá nic společného, funguje. Takže to asi bude nějaké nastavení prestashopu či co. |
||
| Tori Profil |
Co se stane, když zakomentujete i tenhle řádek a necháte jen prázdný blok u podmínky? Není chyba už o pár řádků předtím, v celém bloku else?
Případně pokud je zdroják syntakticky v pořádku a pokud máte zapnutý akcelerátor, změní se něco když akcelerátor vypnete? |
||
| Martin02 Profil |
#3 · Zasláno: 6. 6. 2014, 19:33:02
if (defined('_PS_ADMIN_DIR_'))
$cookie = new Cookie('psAdmin', '', $cookie_lifetime);
else
{
if ($context->shop->getGroup()->share_order)
$cookie = new Cookie('ps-sg'.$context->shop->getGroup()->id, '', $cookie_lifetime, $context->shop->getUrlsSharedCart());
else
{
//$domains = null;
if ($context->shop->domain != $context->shop->domain_ssl)
{
//$domains = array($context->shop->domain_ssl);
//$domains = array($context->shop->domain);
//$domains = array($context->shop->domain_ssl, $context->shop->domain);
//$domains = array("a", "b");
}
$cookie = new Cookie('ps-s'.$context->shop->id, '', $cookie_lifetime, $domains);
}
}Error: Parse error: syntax error, unexpected '}' in /var/www/virtual/zaruceneceske.cz/htdocs/presta/config/config.inc.php on line 141 Podle obarvení syntaxe mého editoru k sobě patří správné závorky, takže asi není problém v tom, že by někde omylem nějaká závorka začínala. |
||
| DobráKlávesnice Profil * |
#4 · Zasláno: 6. 6. 2014, 19:49:22
Martin02:
To je celý soubor, nebo tam je něco dalšího? Mohl by jsi ho sem dát celý? |
||
| Fisir Profil |
#5 · Zasláno: 6. 6. 2014, 20:07:35
Reaguji na Martina02:
Ačkoliv je podmínkování řešeno velmi chaoticky, kontrola syntaxe je v pořádku. Přimlouvám se za celý soubor. |
||
| Martin02 Profil |
#6 · Zasláno: 6. 6. 2014, 20:10:32
<?php
/*
* 2007-2013 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2013 PrestaShop SA
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
require_once(dirname(__FILE__).'/defines.inc.php');
$start_time = microtime(true);
/* SSL configuration */
define('_PS_SSL_PORT_', 443);
/* Improve PHP configuration to prevent issues */
ini_set('upload_max_filesize', '100M');
ini_set('default_charset', 'utf-8');
ini_set('magic_quotes_runtime', 0);
/* correct Apache charset (except if it's too late */
if (!headers_sent())
header('Content-Type: text/html; charset=utf-8');
/* No settings file? goto installer... */
if (!file_exists(dirname(__FILE__).'/settings.inc.php'))
{
$dir = ((substr($_SERVER['REQUEST_URI'], -1) == '/' || is_dir($_SERVER['REQUEST_URI'])) ? $_SERVER['REQUEST_URI'] : dirname($_SERVER['REQUEST_URI']).'/');
if (!file_exists(dirname(__FILE__).'/../install'))
die('Error: "install" directory is missing');
header('Location: install/');
exit;
}
require_once(dirname(__FILE__).'/settings.inc.php');
require_once(dirname(__FILE__).'/autoload.php');
if (_PS_DEBUG_PROFILING_)
{
include_once(_PS_TOOL_DIR_.'profiling/Controller.php');
include_once(_PS_TOOL_DIR_.'profiling/ObjectModel.php');
include_once(_PS_TOOL_DIR_.'profiling/Hook.php');
include_once(_PS_TOOL_DIR_.'profiling/Db.php');
include_once(_PS_TOOL_DIR_.'profiling/Tools.php');
}
/* Redefine REQUEST_URI if empty (on some webservers...) */
if (!isset($_SERVER['REQUEST_URI']) || empty($_SERVER['REQUEST_URI']))
{
if (!isset($_SERVER['SCRIPT_NAME']) && isset($_SERVER['SCRIPT_FILENAME']))
$_SERVER['SCRIPT_NAME'] = $_SERVER['SCRIPT_FILENAME'];
if (isset($_SERVER['SCRIPT_NAME']))
{
if (basename($_SERVER['SCRIPT_NAME']) == 'index.php' && empty($_SERVER['QUERY_STRING']))
$_SERVER['REQUEST_URI'] = dirname($_SERVER['SCRIPT_NAME']).'/';
else
{
$_SERVER['REQUEST_URI'] = $_SERVER['SCRIPT_NAME'];
if (isset($_SERVER['QUERY_STRING']) && !empty($_SERVER['QUERY_STRING']))
$_SERVER['REQUEST_URI'] .= '?'.$_SERVER['QUERY_STRING'];
}
}
}
/* Trying to redefine HTTP_HOST if empty (on some webservers...) */
if (!isset($_SERVER['HTTP_HOST']) || empty($_SERVER['HTTP_HOST']))
$_SERVER['HTTP_HOST'] = @getenv('HTTP_HOST');
$context = Context::getContext();
/* Initialize the current Shop */
$context->shop = Shop::initialize();
define('_THEME_NAME_', $context->shop->getTheme());
define('__PS_BASE_URI__', $context->shop->getBaseURI());
/* Include all defines related to base uri and theme name */
require_once(dirname(__FILE__).'/defines_uri.inc.php');
global $_MODULES;
$_MODULES = array();
/* Load configuration */
Configuration::loadConfiguration();
/* Load all languages */
Language::loadLanguages();
/* Loading default country */
$defaultCountry = new Country(Configuration::get('PS_COUNTRY_DEFAULT'), Configuration::get('PS_LANG_DEFAULT'));
$context->country = $defaultCountry;
/* It is not safe to rely on the system's timezone settings, and this would generate a PHP Strict Standards notice. */
@date_default_timezone_set(Configuration::get('PS_TIMEZONE'));
/* Set locales */
$locale = strtolower(Configuration::get('PS_LOCALE_LANGUAGE')).'_'.strtoupper(Configuration::get('PS_LOCALE_COUNTRY').'.UTF-8');
setlocale(LC_COLLATE, $locale);
setlocale(LC_CTYPE, $locale);
setlocale(LC_TIME, $locale);
setlocale(LC_NUMERIC, 'en_US.UTF-8');
/* Instantiate cookie */
$cookie_lifetime = (int)(defined('_PS_ADMIN_DIR_') ? Configuration::get('PS_COOKIE_LIFETIME_BO') : Configuration::get('PS_COOKIE_LIFETIME_FO'));
$cookie_lifetime = time() + (max($cookie_lifetime, 1) * 3600);
if (defined('_PS_ADMIN_DIR_'))
$cookie = new Cookie('psAdmin', '', $cookie_lifetime);
else
{
if ($context->shop->getGroup()->share_order)
$cookie = new Cookie('ps-sg'.$context->shop->getGroup()->id, '', $cookie_lifetime, $context->shop->getUrlsSharedCart());
else
{
//$domains = null;
if ($context->shop->domain != $context->shop->domain_ssl)
{
//$domains = array($context->shop->domain_ssl);
//$domains = array($context->shop->domain);
//$domains = array($context->shop->domain_ssl, $context->shop->domain);
//$domains = array("a", "b");
}
$cookie = new Cookie('ps-s'.$context->shop->id, '', $cookie_lifetime, $domains);
}
}
$context->cookie = $cookie;
/* Create employee if in BO, customer else */
if (defined('_PS_ADMIN_DIR_'))
{
$employee = new Employee($cookie->id_employee);
$context->employee = $employee;
/* Auth on shops are recached after employee assignation */
if ($employee->id_profile != _PS_ADMIN_PROFILE_)
Shop::cacheShops(true);
$cookie->id_lang = (int)$employee->id_lang;
}
/* if the language stored in the cookie is not available language, use default language */
if (isset($cookie->id_lang) && $cookie->id_lang)
$language = new Language($cookie->id_lang);
if (!isset($language) || !Validate::isLoadedObject($language))
$language = new Language(Configuration::get('PS_LANG_DEFAULT'));
$context->language = $language;
if (!defined('_PS_ADMIN_DIR_'))
{
if (isset($cookie->id_customer) && (int)$cookie->id_customer)
{
$customer = new Customer($cookie->id_customer);
if(!Validate::isLoadedObject($customer))
$customer->logout();
else
{
$customer->logged = $cookie->logged;
if ($customer->id_lang != $context->language->id)
{
$customer->id_lang = $context->language->id;
$customer->update();
}
}
}
if (!isset($customer) || !Validate::isLoadedObject($customer))
{
$customer = new Customer();
// Change the default group
if (Group::isFeatureActive())
$customer->id_default_group = Configuration::get('PS_UNIDENTIFIED_GROUP');
}
$customer->id_guest = $cookie->id_guest;
$context->customer = $customer;
}
/* Link should also be initialized in the context here for retrocompatibility */
$https_link = (Tools::usingSecureMode() && Configuration::get('PS_SSL_ENABLED')) ? 'https://' : 'http://';
$context->link = new Link($https_link, $https_link);
/**
* @deprecated : these defines are going to be deleted on 1.6 version of Prestashop
* USE : Configuration::get() method in order to getting the id of order state
*/
define('_PS_OS_CHEQUE_', Configuration::get('PS_OS_CHEQUE'));
define('_PS_OS_PAYMENT_', Configuration::get('PS_OS_PAYMENT'));
define('_PS_OS_PREPARATION_', Configuration::get('PS_OS_PREPARATION'));
define('_PS_OS_SHIPPING_', Configuration::get('PS_OS_SHIPPING'));
define('_PS_OS_DELIVERED_', Configuration::get('PS_OS_DELIVERED'));
define('_PS_OS_CANCELED_', Configuration::get('PS_OS_CANCELED'));
define('_PS_OS_REFUND_', Configuration::get('PS_OS_REFUND'));
define('_PS_OS_ERROR_', Configuration::get('PS_OS_ERROR'));
define('_PS_OS_OUTOFSTOCK_', Configuration::get('PS_OS_OUTOFSTOCK'));
define('_PS_OS_BANKWIRE_', Configuration::get('PS_OS_BANKWIRE'));
define('_PS_OS_PAYPAL_', Configuration::get('PS_OS_PAYPAL'));
define('_PS_OS_WS_PAYMENT_', Configuration::get('PS_OS_WS_PAYMENT'));
/* Get smarty */
require_once(dirname(__FILE__).'/smarty.config.inc.php');
$context->smarty = $smarty; |
||
| juriad Profil |
#7 · Zasláno: 6. 6. 2014, 20:16:05
php -l říká: No syntax errors detected.
|
||
| Martin02 Profil |
#8 · Zasláno: 6. 6. 2014, 20:17:30 · Upravil/a: Martin02
Prestashop je docela velký projekt, takže by bylo potřeba zkontrolovat desítky, možná stovky souborů...
Tak díky tomuto: www.piliapp.com/php-syntax-check/ jsem na něco přišel. Je tam nějaký problém s mezerama - tudíž možná kódování. define('_PS_OS_ERROR_', Configuration::get('PS_OS_ERROR'));Když to je takto, původní, tak to nejde. Mezi čárkou a "Configuration.." je 7 mezer. Když 6 nebo 7 z nich vymažu, tak to jde. A to podstatné je, že když je všechny "přepíšu" - vymažu a 7x zmášknu mezerník, tak to funguje. Ve věcech ohledne kódování se nevyznám. Je pro to nějaké rozumné vysvětlení? Popřípadě jednoduché řešení? (Jiné než nahrazovat všechny mezery.) V době, kdy se začaly zobrazovat ty chyby jsem zkoušel používat nový editor, tak to asi bude tím. |
||
| Tori Profil |
#9 · Zasláno: 6. 6. 2014, 22:48:17
Martin02:
„V době, kdy se začaly zobrazovat ty chyby jsem zkoušel používat nový editor, tak to asi bude tím.“ To vypadá dost pravděpodobně. Zkontrolujte nastavení editoru (jestli ho ještě používáte). Fisir: „Ačkoliv je podmínkování řešeno velmi chaoticky“ Přikázání "Neuzavřeš do závorek blok o jednom příkazu" je v coding standards Prestashopu, bohužel. |
||
| Martin02 Profil |
#10 · Zasláno: 6. 6. 2014, 23:01:19
Tak jsem přepsal všechny mezery mezi argumentami funkcí a funguje to. Díky moc.
|
||
| pajamac Profil |
#11 · Zasláno: 7. 6. 2014, 13:47:31
Zdravím jsem začátečník v php a hlásí mi to chybu: Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in /DISK2/WWW/beroot.eu/fancom/tests/connect.php on line 11 Kód je zde:
<?php
$username = "*cenzura*";
$password = "*cenzura*";
$hostname = "sql20.pipni.cz";
$dbhandle = mysql_connect($hostname, $username, $password)
or die("Unable to connect to MySQL");
echo "Connected to MySQL<br>";
$selected = mysql_select_db("fancom_beroot_eu",$dbhandle)
or die("Could not select examples");
echo "Succesfuly connected"
$data = mysql_query("SELECT * FROM `user` ORDER BY id ASC ");
$name = 'name';
$password = 'password';
$e-mail = 'e-mail';
$rows = mysql_fetch_assoc($data);
echo 'Name: ' . $rows [$name];
echo 'Password: ' . $rows [$password];
?> |
||
| juriad Profil |
Předchozí řádka s echem není ukončená středníkem. Příště si založ vlastní vlákno, tvůj problém, byť se stejným symptemem, je jiný.
|
||
| pajamac Profil |
#13 · Zasláno: 7. 6. 2014, 14:19:42
juriad:
Děkuji a omlouvám se. |
||
|
Časová prodleva: 12 let
|
|||
0