2015-07-29 2 views
0

У меня есть php-скрипт для моей страницы magento, который исправляет тексты. Он отлично работал, когда у меня было 10 продуктов в моем магазине. Теперь у меня больше 3000, и если я пытаюсь запустить скрипт, это занимает около 3 секунд, а затем отображается пустая страница.Запуск PHP-скрипта не работает

<?php 
include_once "app/Mage.php"; 
Mage::init(); 
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID); 

$yourstring = array('ä', 'ö' , 'Ã' , 'ü' , '°' , '<short_description>' , '</short_description> <full_description>' , '</full_description>' , '</weight>'); 
$newstring = array('ä' , 'ö' , 'ø' , 'ü' , '°' , 'SHORT_DESCRIPTION' , 'SHORT_DESCRIPTION'       , 'DELETE'    , 'DELETE'); 

$_productCollection = Mage::getModel('catalog/product') 
        ->getCollection() 
        ->addAttributeToSelect('*') 
        ->load(); 

echo 'RUNNING SCRIPT...<br /><br /><br /><br />';    
for ($i = 0; $i <= 8; $i++) { 
    echo 'Letter to fix: '.$newstring[$i].'<br />'; 
    foreach($_productCollection as $_product) { 

    if (strpos($_product->getDescription(),$yourstring[$i]) !== false) { 

     $newdescription = str_replace($yourstring[$i],$newstring[$i],$_product->getDescription()); 
     $_product->setDescription($newdescription); 
     $_product->save(); 

     echo 'Updated product: '.$_product->getName().'<br />'; 
    } 

    } 
    echo '<br /><br />'; 
} 
?> 

Он должен хотя бы отображать сообщение «RUNNING SCRIPT», но это не так. Я действительно смущен.

Спасибо!

+0

Что такое время ожидания сценария? –

+0

Где я могу это узнать? – Toby

+1

Вы проверили журналы ошибок? или включить ошибки сообщения/ошибки отображения. Белая страница смерти. – ArtisticPhoenix

ответ

1

В начале сценария (справа до этого) добавить error_reporting(E_ALL^E_NOTICE);. Благодаря тому, что ошибки будут видны на экране, и вы сможете исправить их.

Если ошибок нет, скрипт по-прежнему будет вести себя так, как вы описали, попробуйте изменить время выполнения. Для получения дополнительной информации смотрите here.

+0

спасибо, но сценарий не обнаружил ошибок и добавил более длинные время выполнения с функцией set_time_limit не помогло :( – Toby

+0

Добавить 'ini_set (" display_errors ", 1);', 'ini_set (" track_errors ", 1);' и 'ini_set (" html_errors ", 1);' before ' error_reporting() 'и проверить, не возникнут ли ошибки. – Glapa

+0

Неустранимая ошибка: разрешенный размер памяти 134217728 байт исчерпан (пытался выделить 32 байта) в/var/customers/webs/Ihnken/lib/Zend/Db/Statement/Pdo. php on line 291 – Toby

Смежные вопросы