Jack_mcs, on 06 May 2012 - 06:28 PM, said:
For the article pages to work, special code has to be inserted into that file so the Header Tags code has to be able to write to that file. The server settings for your account is not allowing that. For Windows, they don't use permissions, unless a program is installed to allow it. The files are read only by default so you have to change that. For non-Windows servers, there's no set value for the permissions to be correct. It depends on how the server is setup. The default and recommended is 755 but that may not work in your case. Tell your host you have code installed that needs to write to that file but it is failing due to how the permissions are set. They should undestand that.
Host did said:
------------------
If this file is run to perform the browser and it will be permission the 755 - there is an error. Since the server is prohibited above 755 for security reason.
------------------
Is there an alternative solution?
Is it possible to do so that data written not in the header_tags.php but in another, and it immediately connect in the right place?
Also I am had found code bellow in header_tags.php in windows server.
// article_info.php
case (basename($_SERVER['PHP_SELF']) === FILENAME_APTICLE_INF0):*/
$page = 'article_info.php?articles_id=';
$parts = explode("?" ,$page);
$getStr = substr($parts[1], 0, -1);
$getlD = isset($_GET[$getStr]) ? $_GET[$getStr] : '';
$parts = explode("=", $parts[l]);
if (! ReadCacheHeaderTags($header_tags_array, basename($_SERVER['PHP_SELF']), $getID)) {
if (isset($parts[0])) {
$found = false;
$name = FILENAHE_ARTICLE_INFO . "?" . $parts[0] . "=";
$pageTags_query = tep_db_query("select * from " . TABLE_HEADEPTAGS . " where page_name like '" . tep_db_input($name) . "%' and language_id = '" . (int)$languages_id . "'");
if (tep_db_num_rows($pageTags_query) > 0) {
while($pageTags = tep_db_fetch_array($pageTags_query)) {
if ($name . $_GET[$parts[0]] === $pageTags['page_name']) {
$header_tags_array = tep_header_tag_page($pageTags['page_name']);
WriteCacheHeaderTags($header_tags_array, basename($_SERVER['PHP_SELF']), $getlD);
$found = true;
break;
} } }
if (! $found) {
$found = true;
$header_tags_array = tep_header_tag_page(FILEHAME_ARTICLE_INFO);
WriteCacheHeaderTags($header_tags_array, basename($_SERVER['PHP_SELF']), $getlD);
} } else {
$header_tags_array = tep_header_tag_page(FILENAHE_APTICLE_INFO);
WriteCacheHeaderTags($header_tags_array, basename($_SERVER['PHP_SELF']), $getlD);
}
This code is commented out.
If I uncomment this code or If I uncomment this code and put in the header_tags.php in linux server, i had got syntax errors (see screenshot) [img]
http://oilshinbat.com.ua/images/Untitled-1.png[/img])
and error like this
-------
Parse error: syntax error, unexpected T_DEFAULT in /home/akb.co/www/includes/header_tags.php on line 533
-------
I am a not PHP programer and do not know what is means.
Edited by killwap, 07 May 2012 - 11:13 AM.