2017-01-08 32 views
0

私はphp7用のphp5拡張をコンパイルしようとしていますが、php7に存在しないMAKE_STD_ZVALのいくつかの問題に対して実行しようとしています。php7へのphp5拡張とMAKE_STD_ZVALの移植がありません

私はコンパイルしようとしています:php-swephこれはいくつかの天文計算でいくつかのc関数を利用可能にします。私は専門家ではなく、このモジュールをphp7で動かすことに興味があります。それで、 MAKE_STD_ZVALは何ですか?そして、MAKE_STD_ZVALなしで、以下の関数が動作するように、どうやって変更する必要があるのでしょうか?

PHP_FUNCTION(swe_houses) 
{ 
    char *arg = NULL; 
    int hsys_len, rc; 
    char *hsys = NULL; 
    double tjd_ut, geolat, geolon; 
    double cusps[37], ascmc[10]; 
    int i, houses; 
    zval *cusps_arr, *ascmc_arr; 

    if(ZEND_NUM_ARGS() != 4) WRONG_PARAM_COUNT; 

    if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ddds", 
     &tjd_ut, &geolat, &geolon, &hsys, &hsys_len) == FAILURE) { 
     return; 
    } 

    if (hsys_len < 1) 
     return; 

    rc = swe_houses(tjd_ut, geolat, geolon, hsys[0], cusps, ascmc); 

    /* create 2 index array, and 1 assoc array */ 
    array_init(return_value); 

    MAKE_STD_ZVAL(cusps_arr); 
    array_init(cusps_arr); 

    if (hsys[0] == 'G') 
     houses = 37; 
    else 
     houses = 13; 

    for(i = 0; i < houses; i++) 
     add_index_double(cusps_arr, i, cusps[i]); 

     MAKE_STD_ZVAL(ascmc_arr); 

     array_init(ascmc_arr); 

    for(i = 0; i < 10; i++) 

    add_index_double(ascmc_arr, i, ascmc[i]); 

    add_assoc_zval(return_value, "cusps", cusps_arr); 
    add_assoc_zval(return_value, "ascmc", ascmc_arr); 
    add_assoc_long(return_value, "rc", rc); 
} 
+1

をPHPから変更または削除されているマクロの詳細を述べた:https://wiki.php.net/phpng-upgrading – Andrea

答えて

0

this linkあなたは、これが役に立つかもしれません7.

+0

HTTPSをお読みください:/回答を投稿する前に/stackoverflow.com/help/how-to-answer。 –

関連する問題