我的 Dockerfile 中的 WORKDIR 似乎不起作用。我正在 Windows 10 上尝试此操作。在 Mac 上同样可以完美运行。
这是我的项目文件:docker-compose.yml:
version: '3'
services:
php_under_test:
build: tests/DockerImages/${PHP_VERSION}
volumes:
- .:/opt/project/phpstorm-stubs
test_runner:
build: tests/DockerImages/testRunner
volumes:
- .:/opt/project/phpstorm-stubs
Run Code Online (Sandbox Code Playgroud)
该tests/DockerImages/testRunner
文件夹只有这个 Dockerfile:
FROM php:8.1-apache
RUN echo 'memory_limit = 1024M' >> /usr/local/etc/php/conf.d/docker-php-memlimit.ini
COPY --from=composer /usr/bin/composer /usr/bin/composer
RUN apt-get update && apt-get -y install git zip unzip
WORKDIR /opt/project/phpstorm-stubs
Run Code Online (Sandbox Code Playgroud)
如果我docker-compose -f docker-compose.yml run test_runner /usr/local/bin/php tests/Tools/generate-stub-map
在 docker-compose.yml 所在目录中的 cmd.exe 中运行,我会得到:
C:\Projects\phpstorm-stubs>docker-compose -f docker-compose.yml run test_runner /usr/local/bin/php tests/Tools/generate-stub-map
WARNING: The PHP_VERSION variable is …
Run Code Online (Sandbox Code Playgroud) 这是我得到的错误
400. That’s an error.
Error: invalid_request
Invalid parameter value for approval_prompt: 'auto'' is not valid
Run Code Online (Sandbox Code Playgroud)
请求详细信息
response_type=code
access_type=offline
client_id=xyz-
xyx.apps.googleusercontent.com
redirect_uri=http://localhost/xyz/init/googleCallBack.php
state=scope=https://www.googleapis.com/auth/plus.me
approval_prompt=auto'
Run Code Online (Sandbox Code Playgroud)
这是谷歌登录的配置
$gClient= new Google_Client();
$gClient->setAuthConfig('init/client_secret.json');
$gClient->setApprovalPrompt('consent');
$gClient->setApplicationName('abc');
$gClient->setAccessType('offline');
$gClient>setRedirectUri('http://localhost/xyz/init/googleCallBack.php';
$gClient->setScopes(Google_Service_Plus::PLUS_ME);
Run Code Online (Sandbox Code Playgroud)
我尝试设置了 Approval_prompt 或同时提示两者,但如果我不设置这两个,则它不起作用,我仍然得到无效参数“prompt=auto”
我想像phpstorm一样使用vscode ide链接。
我知道我们可以phpstorm://open?file=@filepath&line=@line
如何使用vscode达到同样的效果?
多谢。