iliaal / php_excel

PHP Extension interface to the Excel writing/reading library
http://ilia.ws
533 stars 131 forks source link

PHP8.0 License issue: can't write row 0 in trial version #274

Closed frankdekker closed 2 years ago

frankdekker commented 2 years ago

Hi,

I'm running into the issue that libxl doesn't detect our license key and reports can't write row 0 in trial version. We have set excel.license_name and excel.license_key in excel.ini, and verified it's loaded. Even with a test passing the license name and key via de constructor of Excelbook didn't help.

Running the same test against PHP7.4 still works.

We've compiled Jan-E's php7_with_pulls with php7 against libxl version 3.9.4.3 and php 8.0.10. See my gist: https://gist.github.com/frankdekker/e0b552d8b806ab92b1a7a38b4b5ee460

I've also tried libxl version 3.8.8, but the issue is the same.

It would be great if you have any suggestions.

frankdekker commented 2 years ago

I did some more testing and updated php8.0.12. I ran the test below but a lot seem to fail:

=====================================================================
PHP         : /usr/bin/php8.0
PHP_SAPI    : cli
PHP_VERSION : 8.0.12
ZEND_VERSION: 4.0.12
PHP_OS      : Linux - Linux hephaestus 4.19.0-18-amd64 #1 SMP Debian 4.19.208-1 (2021-09-29) x86_64
INI actual  : /etc/php/8.0/cli/php.ini
More .INIs  : /etc/php/8.0/cli/conf.d/10-mysqlnd.ini,/etc/php/8.0/cli/conf.d/10-opcache.ini,/etc/php/8.0/cli/conf.d/10-pdo.ini,/etc/php/8.0/cli/conf.d/15-xml.ini,/etc/php/8.0/cli/conf.d/20-bcmath.ini,/etc/php/8.0/cli/conf.d/20-bz2.ini,/etc/php/8.0/cli/conf.d/20-calendar.ini,/etc/php/8.0/cli/conf.d/20-ctype.ini,/etc/php/8.0/cli/conf.d/20-curl.ini,/etc/php/8.0/cli/conf.d/20-dom.ini,/etc/php/8.0/cli/conf.d/20-drs.ini,/etc/php/8.0/cli/conf.d/20-excel.ini,/etc/php/8.0/cli/conf.d/20-exif.ini,/etc/php/8.0/cli/conf.d/20-ffi.ini,/etc/php/8.0/cli/conf.d/20-fileinfo.ini,/etc/php/8.0/cli/conf.d/20-ftp.ini,/etc/php/8.0/cli/conf.d/20-gd.ini,/etc/php/8.0/cli/conf.d/20-gettext.ini,/etc/php/8.0/cli/conf.d/20-iconv.ini,/etc/php/8.0/cli/conf.d/20-imagick.ini,/etc/php/8.0/cli/conf.d/20-intl.ini,/etc/php/8.0/cli/conf.d/20-ldap.ini,/etc/php/8.0/cli/conf.d/20-mbstring.ini,/etc/php/8.0/cli/conf.d/20-mysqli.ini,/etc/php/8.0/cli/conf.d/20-pdo_mysql.ini,/etc/php/8.0/cli/conf.d/20-pdo_sqlite.ini,/etc/php/8.0/cli/conf.d/20-phar.ini,/etc/php/8.0/cli/conf.d/20-posix.ini,/etc/php/8.0/cli/conf.d/20-readline.ini,/etc/php/8.0/cli/conf.d/20-shmop.ini,/etc/php/8.0/cli/conf.d/20-simplexml.ini,/etc/php/8.0/cli/conf.d/20-soap.ini,/etc/php/8.0/cli/conf.d/20-sockets.ini,/etc/php/8.0/cli/conf.d/20-sqlite3.ini,/etc/php/8.0/cli/conf.d/20-sysvmsg.ini,/etc/php/8.0/cli/conf.d/20-sysvsem.ini,/etc/php/8.0/cli/conf.d/20-sysvshm.ini,/etc/php/8.0/cli/conf.d/20-tokenizer.ini,/etc/php/8.0/cli/conf.d/20-xdebug.ini,/etc/php/8.0/cli/conf.d/20-xmlreader.ini,/etc/php/8.0/cli/conf.d/20-xmlrpc.ini,/etc/php/8.0/cli/conf.d/20-xmlwriter.ini,/etc/php/8.0/cli/conf.d/20-xsl.ini,/etc/php/8.0/cli/conf.d/20-zip.ini
CWD         : /tmp/php_excel-php7_with_pulls
Extra dirs  :
VALGRIND    : Not used
=====================================================================
TIME START 2021-11-03 16:10:16
=====================================================================
FAIL LibXL licensed version vs trial version test [tests/000.phpt]
PASS Excel font tests [tests/001.phpt]
PASS Excel date pack/unpack tests [tests/002.phpt]
PASS Basic Type write tests [tests/003.phpt]
PASS Complex Type write tests [tests/004.phpt]
PASS Date format tests [tests/005.phpt]
FAIL Numeric Data format tests [tests/006.phpt]
PASS Alignment Tests [tests/007.phpt]
PASS Text Wrap Test [tests/008.phpt]
FAIL Text rotation test [tests/009.phpt]
FAIL Text indentation [tests/010.phpt]
PASS Shrink to fit [tests/011.phpt]
FAIL Border Styles [tests/012.phpt]
FAIL Border Colors [tests/013.phpt]
FAIL Diagonal Border Test [tests/014.phpt]
FAIL Fill Pattern Test [tests/015.phpt]
FAIL Locked Format [tests/016.phpt]
FAIL Hidden Format [tests/017.phpt]
PASS Format clone test [tests/018.phpt]
PASS Font clone test [tests/019.phpt]
FAIL Format constructor test [tests/020.phpt]
FAIL Font constructor test [tests/021.phpt]
PASS Font styling tests [tests/022.phpt]
PASS Excel Sheet Manipulation [tests/023.phpt]
PASS Custom Number Formats [tests/024.phpt]
PASS Picture Handling [tests/025.phpt]
PASS Default Font [tests/026.phpt]
FAIL Cell Format Detection [tests/027.phpt]
PASS Comment Write Test [tests/028.phpt]
FAIL Width/Height Checks [tests/029.phpt]
PASS Cell Merge Tests [tests/030.phpt]
PASS Sheet Page Breaks [tests/031.phpt]
PASS Sheet Split [tests/032.phpt]
PASS Row/Column Grouping [tests/033.phpt]
FAIL Area Clear [tests/034.phpt]
FAIL Column/Row insertion/removal [tests/035.phpt]
PASS Cell Copy [tests/036.phpt]
PASS Cell Postion Identification [tests/037.phpt]
PASS Grid Lines Test [tests/038.phpt]
PASS Zoom Test [tests/039.phpt]
PASS Page Orientation [tests/040.phpt]
PASS Page Orientation [tests/041.phpt]
PASS Print Header & Footer [tests/042.phpt]
PASS Printing Alignment [tests/043.phpt]
FAIL Margin Tests [tests/044.phpt]
PASS Column Heading Printing [tests/045.phpt]
PASS Sheet Name Manipulation [tests/046.phpt]
FAIL Row Read [tests/047.phpt]
FAIL Column Read [tests/048.phpt]
FAIL Row Write [tests/049.phpt]
FAIL Column Write [tests/050.phpt]
PASS Sheet protection test [tests/051.phpt]
PASS setCellFormat() tests [tests/052.phpt]
PASS getAllFormats() tests [tests/053.phpt]
PASS colorPack()/colorUnpack() tests [tests/054.phpt]
PASS rgbMode()/setRGBMode() tests [tests/055.phpt]
FAIL Excel 2007/2010 read/write tests [tests/056.phpt]
PASS Named Range test [tests/057.phpt]
PASS Summary Direction Tests [tests/058.phpt]
PASS Print Area tests [tests/059.phpt]
PASS getSheetByName() tests [tests/060.phpt]
PASS getPrintFit() / setPrintFit() tests [tests/061.phpt]
PASS New range related functions [tests/062.phpt]
PASS New Page break functions [tests/063.phpt]
PASS New Picture Functions [tests/064.phpt]
PASS Book:biffVersion(); [tests/065.phpt]
PASS R1C1 functions [tests/066.phpt]
PASS Book::insertSheet() [tests/067.phpt]
PASS Sheet::isHidden() / Sheet::setHidden() [tests/068.phpt]
PASS Sheet::setTopLeftView() / Sheet::getTopLeftView() [tests/069.phpt]
PASS Sheet::addrToRowCol() / Sheet::rowColToAddr() [tests/070.phpt]
FAIL Book::packDateValues() [tests/071.phpt]
PASS Book::isTemplate() / Book::setTemplate() [tests/072.phpt]
PASS Sheet::getRightToLeft() / Sheet::setRightToLeft() [tests/073.phpt]
FAIL Test the SKIP_NULLS options, that skips null when writing data [tests/074.phpt]
PASS Test the ExcelSheet::hyperlinkSize(), ExcelSheet::hyperlink(), ExcelSheet::delHyperlink(), ExcelSheet::addHyperlink() methods introduced in libxl 3.6.0. [tests/075.phpt]
FAIL Test the ExcelSheet::mergeSize(), ExcelSheet::merge(), ExcelSheet::delMergeByIndex() methods introduced in libxl 3.6.0. [tests/076.phpt]
PASS Test the ExcelSheet::splitInfo() method introduced in libxl 3.6.0. [tests/077.phpt]
FAIL Sheet::colHidden(), Sheet::rowHidden(), Sheet::setColHidden() and Sheet::setRowHidden() [tests/078.phpt]
PASS Book::sheetType() [tests/079.phpt]
PASS Sheet::writeCol() data type argument [tests/080.phpt]
PASS Sheet::write***() implicit formula parsing with = [tests/081.phpt]
PASS Sheet::write***() auto date format [tests/082.phpt]
PASS Sheet::__construct() [tests/083.phpt]
PASS test Sheet::read(.., $format) issue #86 [tests/084.phpt]
SKIP test Sheet::isLicensed() [tests/086.phpt]
PASS ExcelSheet::setAutoFitArea(), ExcelSheet::printRepeatCols(), ExcelSheet::printRepeatRows(), ExcelSheet::printArea() [tests/087.phpt]
PASS force string behaviout with single quoted strings [tests/088.phpt]
PASS force string behaviout with single quoted strings [tests/089.phpt]
PASS test Book::setLocale() [tests/090.phpt]
PASS test Book::save() and Book::loadFile() [tests/091.phpt]
PASS Book::getLibXlVersion() [tests/092.phpt]
PASS Book::getPhpExcelVersion() [tests/093.phpt]
FAIL Sheet::addDataValidation() [tests/094.phpt]
PASS Book::moveSheet() [tests/095.phpt]
PASS Excel date pack/unpack overflow tests [tests/dateunpack_overflow_bug.phpt]
FAIL A bug that casues numberic fields with custom formats to be dectected as dates [tests/number_format_bug.phpt]
PASS A bug with using readRow/writeRow combination to handle NULL values [tests/write_read_row_bug.phpt]
=====================================================================
TIME END 2021-11-03 16:10:30

=====================================================================
TEST RESULT SUMMARY
---------------------------------------------------------------------
Exts skipped    :    0
Exts tested     :   58
---------------------------------------------------------------------

Number of tests :   98                97
Tests skipped   :    1 (  1.0%) --------
Tests warned    :    0 (  0.0%) (  0.0%)
Tests failed    :   28 ( 28.6%) ( 28.9%)
Tests passed    :   69 ( 70.4%) ( 71.1%)
---------------------------------------------------------------------
Time taken      :   14 seconds
=====================================================================

=====================================================================
FAILED TEST SUMMARY
---------------------------------------------------------------------
frankdekker commented 2 years ago

@Jan-E Do you perhaps have any tips how to solve the issue above? The license key seems fine on php7.4

frankdekker commented 2 years ago

Solved, contacted libxl. It seems we were using an old format of (a valid) license key.