0

C アプリケーションと PHP スクリプトでデータをパッキングするためにCBORを使用しています。PHP については、上記のサイトから実装をダウンロードしました。PHP 5.4.23 では問題なく動作しますが、PHP 5.3.3 では CBOREncoder.php をインクルードするとエラーが発生します。

Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /var/www/html1/......./CBOREncoder.php on line 15

これは CBOREncoder.php の始まりです:

<?php

/**
 * CBOR encoder/decoder
 *
 * http://tools.ietf.org/html/rfc7049
 * http://habrahabr.ru/post/208690/ thx man :)
 *
 * Class CBOREncoder
 */
class CBOREncoder
{
    const
        MAJOR_OFFSET = 5,
        HEADER_WIPE = 0b00011111, <-- this line produces error
        ADDITIONAL_WIPE = 0b11100000,

どうしたの?

4

1 に答える 1

2

問題は、PHP 5.3.x が 2 進数をサポートしていないことです。これは PHP 5.4 に含まれていました。

PHP Web サイトから: http://php.net/manual/en/migration54.new-features.php

0b001001101 などの 2 進数形式が追加されました。

そのため、CBOR は PHP 5.3 をサポートしていません。

于 2015-03-09T14:13:09.547 に答える