Skip to content

Commit

Permalink
修复非server环境下使用rpc服务时抛出Call to a member function getTcpSetting() on nu…
Browse files Browse the repository at this point in the history
  • Loading branch information
limingxinleo authored and huangzhhui committed Aug 1, 2018
1 parent 1adf0ce commit b846903
Show file tree
Hide file tree
Showing 3 changed files with 71 additions and 9 deletions.
13 changes: 4 additions & 9 deletions rpc/src/Packer/EofTrait.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,9 @@ trait EofTrait
/**
* @return string
*/
public function getEof():string
public function getEof(): string
{
$eof = '';
$tcpSettings = App::$server->getTcpSetting();
if (isset($tcpSettings['package_eof'])) {
$eof = $tcpSettings['package_eof'];
}
return $eof;
$properties = App::getAppProperties();
return $properties->get('server.tcp.package_eof', '');
}

}
}
5 changes: 5 additions & 0 deletions rpc/test/Cases/JsonPackerTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,4 +37,9 @@ public function pack()
$this->assertJson(\json_encode($data), $packedData);
}

public function testEof()
{
$packer = new JsonPacker();
$this->assertEquals("\r\n", $packer->getEof());
}
}
62 changes: 62 additions & 0 deletions rpc/test/config/server.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<?php
/**
* This file is part of Swoft.
*
* @link https://swoft.org
* @document https://doc.swoft.org
* @contact [email protected]
* @license https://github.com/swoft-cloud/swoft/blob/master/LICENSE
*/

return [
'server' => [
'pfile' => env('PFILE', '/tmp/swoft.pid'),
'pname' => env('PNAME', 'php-swoft'),
'tcpable' => env('TCPABLE', true),
'cronable' => env('CRONABLE', false),
'autoReload' => env('AUTO_RELOAD', true),
],
'tcp' => [
'host' => env('TCP_HOST', '0.0.0.0'),
'port' => env('TCP_PORT', 8099),
'mode' => env('TCP_MODE', SWOOLE_PROCESS),
'type' => env('TCP_TYPE', SWOOLE_SOCK_TCP),
'package_max_length' => env('TCP_PACKAGE_MAX_LENGTH', 2048),
'open_eof_check' => env('TCP_OPEN_EOF_CHECK', false),
'package_eof' => "\r\n",
],
'http' => [
'host' => env('HTTP_HOST', '0.0.0.0'),
'port' => env('HTTP_PORT', 80),
'mode' => env('HTTP_MODE', SWOOLE_PROCESS),
'type' => env('HTTP_TYPE', SWOOLE_SOCK_TCP),
],
'ws' => [
// enable handle http request ?
'enable_http' => env('WS_ENABLE_HTTP', true),
// other settings will extend the 'http' config
// you can define separately to overwrite existing settings
],
'crontab' => [
'task_count' => env('CRONTAB_TASK_COUNT', 1024),
'task_queue' => env('CRONTAB_TASK_QUEUE', 2048),
],
'setting' => [
'worker_num' => env('WORKER_NUM', 1),
'max_request' => env('MAX_REQUEST', 10000),
'daemonize' => env('DAEMONIZE', 0),
'dispatch_mode' => env('DISPATCH_MODE', 2),
'log_file' => env('LOG_FILE', '@runtime/logs/swoole.log'),
'task_worker_num' => env('TASK_WORKER_NUM', 1),
'package_max_length' => env('PACKAGE_MAX_LENGTH', 2048),
'upload_tmp_dir' => env('UPLOAD_TMP_DIR', '@runtime/uploadfiles'),
'document_root' => env('DOCUMENT_ROOT', BASE_PATH . '/public'),
'enable_static_handler' => env('ENABLE_STATIC_HANDLER', true),
'open_http2_protocol' => env('OPEN_HTTP2_PROTOCOL', false),
'ssl_cert_file' => env('SSL_CERT_FILE', ''),
'ssl_key_file' => env('SSL_KEY_FILE', ''),
'task_ipc_mode' => env('TASK_IPC_MODE', 1),
'message_queue_key' => env('MESSAGE_QUEUE_KEY', 0x70001001),
'task_tmpdir' => env('TASK_TMPDIR', '/tmp'),
],
];

0 comments on commit b846903

Please sign in to comment.