我使用PHP 5.5.25
同Apache 2.4
在Windows 7 x64
,我无法激活卷曲模块.我环顾四周,尝试了所有我能想到的.请协助:
php.ini
,该行extension=php_curl.dll
处于活动状态,该文件php_curl.dll
存在于extensions目录中C:\php\ext
php.ini
我设置时extension_dir = ext
,没有任何扩展加载.Apache启动时会收到几条消息,类似于Unable to load dynamic library
ext\php_openssl.dll- The specified module could not be found.
extension_dir = C:\php\ext
,除了cURL之外,所有扩展都加载正常.我收到错误:Unable to load dynamic library
C:\ php\ext\php_curl.dll- The specified module could not be found.
php_curl.new.dll
和调整,php.ini
但我收到有关新文件名的错误消息.我还从中下载了一个全新的DLL副本windows.php.net
,但没有区别.php_curl.dll
(右键单击文件>>属性>>安全性选项卡),它们与成功加载的扩展的权限相同libeay32.dll
和ssleay32.dll
从PHP bin目录到System32和Syswow64资料目录由一个响应,指示这个问题php.ini
,因为改变了,当我改变了PHP的启动错误消息 …我是git的新手,没有任何版本控制系统的经验。我在本地进行开发,正在寻找一种比FTP更简单的方法来将文件部署到(LAMP)Web服务器。我很难配置Git(适用于Windows的2.5版)在推送更改时自动更新其当前的工作目录。创建本地存储库,执行首次提交并在别名下添加远程位置后,这就是我要做的事情origin
:
ssh user@domain
cd testgit
git init
git config receive.denyCurrentBranch updateInstead
git status
:无须提交exit
git status
:未添加任何内容,但存在未跟踪的文件git push origin master
步骤8产生一个通知和两个错误:
stdin: is not a tty
fatal: bad config value for 'receive.denycurrentbranch' in config
fatal: Could not read from remote repository
我一直在环顾四周,但被困住了。我究竟做错了什么?
我刚刚升级到Angular 2 RC 5
了一个我无法弄清楚的原因,我无法发出任何http请求(即请求永远不会出现/不会显示在浏览器日志中).
这是直到今天升级的代码.
console.log("Let's call github");
let url = 'https://raw.githubusercontent.com/angular/angular/master/LICENSE';
return this.get(url).do(d=>console.log('success'));
Run Code Online (Sandbox Code Playgroud)
当我的组件调用包含此代码的函数时,Let's call github
会输出,但是不会发出请求.我确信这个Observable
和Http
来自@angular/http
正确导入,因为今天早上同样的代码工作.我的第一个想法是我错过了HttpModule
,但我已经确认我将它导入我的主要版本AppModule
事实上,如果我注释掉HttpModule
导入,我看不出任何区别.错误是一样的,如下:
Exception: TypeError: this._body is null
Run Code Online (Sandbox Code Playgroud)
Chart.js 2.2.1
知道如何触发当我将鼠标悬停在数据点上时运行的代码,以及当我将鼠标移开时运行的代码吗?我需要以编程方式显示和隐藏图表的工具提示.
openTip(oChart, datasetIndex, pointIndex){
// how to open a specific tooltip?
}
closeTip(oChart, datasetIndex, pointIndex){
// how to close the same tooltip?
}
Run Code Online (Sandbox Code Playgroud)
如果可以的话,我会展示示例代码,但我甚至不知道从哪里开始.该图表方法文档并没有帮助.
我正在尝试配置PhpStorm 2017.2
为PhpUnit 5
用于我的PHP 5.6
项目。
我已经phpunit-5.7.21.phar
从官方来源下载了文件,并将其放置在我的PHP 5.6安装目录中。
在PhpStorm设置>>语言和框架>> PHP >>测试框架中,我已链接到.phar
可执行文件,并将默认配置文件设置phpunit.xml
为项目根目录中的。
phpunit.xml
:。
<?xml version="1.0" encoding="UTF-8"?>
<phpunit>
<testsuites>
<testsuite name="Test suite">
<directory>tests</directory>
</testsuite>
</testsuites>
</phpunit>
Run Code Online (Sandbox Code Playgroud)
我正在尝试在tests/unit
目录中构建测试,该目录中的源文件项目结构将按照手册中的描述进行镜像。例如:
// project files:
ClassOne.php
vendor/
ClassTwo.php
Utility.php
// test files
tests/unit/
ClassOneTest.php
vendor/
ClassTwoTest.php
UtilityTest.php
Run Code Online (Sandbox Code Playgroud)
我有两个问题:
首先,我不知道如何配置PhpStorm以在tests/unit/
相对于项目根目录镜像结构的情况下创建测试。创建测试时,默认情况下,文件与项目文件位于同一目录中。
其次,我不知道如何使PhpStorm索引PHPUnit源代码。即使我已phpunit-5.7.21.phar
如上所述链接到文件,但在创建测试时IDE仍会抱怨:
namespace vendor;
class UtilityTest extends \PHPUnit_Framework_TestCase{}
Run Code Online (Sandbox Code Playgroud)
未定义的类PHPUnit_Framework_TestCase
我通过将保存目录的目录添加.phar …
我正在向 NPM 发布一个库。该库是用Typescript编写的,Typescript编译的结果放在一个lib/
文件夹中。主文件是index.ts
导出我的公共 API 的文件:
export * from './functions';
export * from './models';
Run Code Online (Sandbox Code Playgroud)
在 package.json 中,我指定:
{"main": "lib/index.js", "types": "lib/index.d.ts", "files": ["lib/**/*"]}
Run Code Online (Sandbox Code Playgroud)
一旦我的包发布并安装在其他地方,它的文件夹结构是:
lib/
index.js
index.d.ts
functions/
index.ts
my-function.ts
models/
index.ts
my-model.ts
Run Code Online (Sandbox Code Playgroud)
消费者从包根目录导入所有内容:
{"main": "lib/index.js", "types": "lib/index.d.ts", "files": ["lib/**/*"]}
Run Code Online (Sandbox Code Playgroud)
这可行,但我喜欢隔离路径的想法。一种用于函数,另一种用于模型。目前,如果我删除顶级索引,导入将被隔离,但它们现在包含lib/
我不想要的路径中的文件夹:
lib/
index.js
index.d.ts
functions/
index.ts
my-function.ts
models/
index.ts
my-model.ts
Run Code Online (Sandbox Code Playgroud)
我实际上想要完成的事情是相同的,但没有lib/
. 我有一个可行的解决方案,但它似乎太复杂了。这是有效的:
main
types
和files
键。index.ts
npm publish
使用以下步骤替换简单的内容:
/lib
文件夹中我正在努力在 NestJS 7 中实现 Websocket 网关,如文档中所示。我使用 WS 适配器。
const app = await NestFactory.create(ApplicationModule);
app.useWebSocketAdapter(new WsAdapter(app));
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是网关接受连接,无论 url 是什么。例如,如果我像这样定义我的网关:
@WebSocketGateway(8080, {namespace: '/v3'}
export class MyGateway {}
Run Code Online (Sandbox Code Playgroud)
handleConnection
然后,无论客户端请求的路径如何,都会触发该网关:
ws://localhost:8080/some-other-path
Run Code Online (Sandbox Code Playgroud)
不幸的是,这意味着所有客户端都连接到每个网关。命名空间选项仅适用于 socket.io 适配器吗?
以下脚本适用于PHP 5.6.23
:
$options = [
CURLOPT_POST => 1,
CURLOPT_URL => 'https://uat.dwolla.com/oauth/rest/offsitegateway/checkouts',
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_POSTFIELDS => json_encode(['name'=>'value']),
CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
CURLOPT_SSL_VERIFYPEER => true,
CURLOPT_CAINFO => '/path/to/certs/GoDaddyRootCertificateAuthority-G2.crt',
];
$ch = curl_init();
curl_setopt_array($ch, $options);
if( ! $result = curl_exec($ch)) $err = curl_error($ch);
else $err = null;
curl_close($ch);
if($err) echo $err;
else print_r(json_decode($result,true));
Run Code Online (Sandbox Code Playgroud)
我从Dwolla的付款API得到了预期的响应。为了使脚本更具动态性,我尝试将其更改为引用托管我希望cURL信任的证书的目录。因此,我将最后一个选项(CURLOPT_CAINFO
)更改为:
CURLOPT_CAPATH => '/path/to/certs'
Run Code Online (Sandbox Code Playgroud)
但是,这会破坏脚本,并且不会建立连接。错误是:
SSL证书问题:无法获取本地颁发者证书
我知道目录是正确的,并且证书文件有效,因为原始脚本引用了该目录中的证书。我希望cURL
扫描目录中的文件并找到所需的证书,但是这没有发生。为什么是这样?
我想再次尝试使用Angular 2
Ahead-of-Time编译.
这将需要我的重大重构,因为我当前的设置使用需要更改的自定义构建过程.
在开始之前我需要知道:如果我链接到元数据中的外部.scss
文件,styleUrls
AoT编译器是否可以工作?
@Component({
...
styleUrls:['./app.component.scss'],
})
export class AppComponent {}
Run Code Online (Sandbox Code Playgroud)
或者我应该首先将所有样式转换.css
为CSS样式表并链接到CSS样式表?
自述文件没有讨论这个问题.
考虑这个代码:
class ParentClass {
public static function generate($className = __CLASS__){
if(!$className) return new self();
else return new $className();
}
}
class ChildClass extends ParentClass {
/**
* @param string $className
* @return ChildClass
*/
public static function generate($className = __CLASS__) {
return parent::generate($className);
}
}
var_dump($ChildClass::generate()); // object(ChildClass)[1]
Run Code Online (Sandbox Code Playgroud)
ChildClass::generate()
返回ChildClass
我使用它的任何地方的实例,因为我从不提供$className
参数。问题是我的 IDE 给了我一个关于parent::generate()
调用与记录的返回类型不匹配的警告:
我想通过向父方法添加文档来消除此警告。我可以:
@return ParentClass | ChildClass
Run Code Online (Sandbox Code Playgroud)
将这个添加到父方法中是可行的,但这并不实用,因为有很多子类,而且将来可能会有更多。我已经尝试了以下两种方法:
@return static
@return $className
Run Code Online (Sandbox Code Playgroud)
但这并没有使警告消失。是否有 PHPDoc 批准的方法来指示调用子类将始终返回?或者——更准确地说——$className
将返回一个类型的类?如果没有,有没有一种方法可以在我的 IDE 中工作?( PhpStorm 2017.2
)
@gogaz …
php ×4
angular ×2
curl ×2
phpstorm ×2
chart.js ×1
charts ×1
compilation ×1
git ×1
javascript ×1
nestjs ×1
node.js ×1
npm ×1
npm-pack ×1
npm-publish ×1
phpdoc ×1
phpunit ×1
sass ×1
ssh ×1
ssl ×1
typescript ×1
unit-testing ×1
websocket ×1
ws ×1