За последние 24 часа нас посетили 17819 программистов и 1608 роботов. Сейчас ищут 1370 программистов ...

PEAR: Spreadsheet_Excel_Writer

Тема в разделе "PHP для новичков", создана пользователем lieroes, 28 май 2013.

  1. lieroes

    lieroes Новичок

    С нами с:
    11 май 2013
    Сообщения:
    5
    Симпатии:
    0
    Добрый день, ув. Форумчане,
    На свою голову установил линукс, сижу разбираюсь во всем, все работает с какими то костылями, а то и вовсе не работает, например Spreadsheet Excel Writer.

    Установил с официального репозитория PEAR + необходимые package, вот подтверждение, что все работает:
    Код (Text):
    1. ~$ pear list
    2. Installed packages, channel pear.php.net:
    3. ====================================
    4. Archive_Tar 1.3.7 stable
    5. Console_Getopt 1.3.0 stable
    6. OLE 1.0.0RC2 beta
    7. PEAR 1.9.4 stable
    8. Spreadsheet_Excel_Writer 0.9.3 beta
    9. Structures_Graph 1.0.4 stable
    10. XML_Util 1.2.1 stable
    Spreadsheet_Excel_Writer установился в директорию "/usr/share/php/Spreadsheet".
    Права на папку Spreadsheet: 0755/drwxr-xr-x
    Права на файл Writer.php: 0664/-rw-rw-r--

    Пишу код из мануала и сохраняю файл index.php в директории "/var/www":
    Код (Text):
    1. <?php
    2. require_once '/usr/share/php/Spreadsheet/Excel/Writer.php';
    3.  
    4. // Creating a workbook
    5. $workbook = new Spreadsheet_Excel_Writer();
    6.  
    7. // sending HTTP headers
    8. $workbook->send('test.xls');
    9.  
    10. // Creating a worksheet
    11. $worksheet =& $workbook->addWorksheet('My first worksheet');
    12.  
    13. // The actual data
    14. $worksheet->write(0, 0, 'Name');
    15. $worksheet->write(0, 1, 'Age');
    16. $worksheet->write(1, 0, 'John Smith');
    17. $worksheet->write(1, 1, 30);
    18. $worksheet->write(2, 0, 'Johann Schmidt');
    19. $worksheet->write(2, 1, 31);
    20. $worksheet->write(3, 0, 'Juan Herrera');
    21. $worksheet->write(3, 1, 32);
    22.  
    23. // Let's send the file
    24. $workbook->close();
    25. ?>
    и дальше строчки подключения файла скрипт не выполняется:
    Код (Text):
    1.  
    2. require_once '/usr/share/php/Spreadsheet/Excel/Writer.php';
    В чем может быть дело? Я нашел другое решение с созданием *.html файлов и преобразованием их потом в *.xls, стандартными инструментами, но все равно хочется разобраться..
     
  2. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    Линукс тут не виноват, потому, что:
    Код (PHP):
    1. require_once 'Spreadsheet/Excel/Writer.php'; 
     
  3. lieroes

    lieroes Новичок

    С нами с:
    11 май 2013
    Сообщения:
    5
    Симпатии:
    0
    Я так тоже пробовал, эффекта 0 :(
    .. и можете объяснить почему так? эти классы ведь лежат не в корневой папке, а совсем в другой директории :/
     
  4. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    Просто пути директорий для инклудов прописаны в php.ini, в консоли выполните:
    Код (Text):
    1.  
    2. php -i | grep include_path
    ответит что-то типа:
    Код (Text):
    1.  
    2. include_path => .:/usr/share/pear:/usr/share/php => .:/usr/share/pear:/usr/share/php
    Вот отсюда и можно будет плясать почему он не подхватывает.

    З.Ы. кстати возможно, что при установке не подхватилось что-то из зависимостей для Спредшита, можно переставить следующим образом:
    Код (Text):
    1.  
    2. pear install --alldeps --force Spreadsheet_Excel_Writer
     
  5. iliavlad

    iliavlad Активный пользователь

    С нами с:
    24 янв 2009
    Сообщения:
    1.689
    Симпатии:
    4
    гм. это не значит, что подключать файлы можно исключительно из этих директорий.
     
  6. Ke1eth

    Ke1eth Активный пользователь

    С нами с:
    16 мар 2012
    Сообщения:
    1.073
    Симпатии:
    11
    Адрес:
    заблудилса
    Совершенно не значит, просто кто знает, что там стоит и как настроено?