我通过ajax调用php脚本来进行一些数据库维护.如果用户关闭页面,点击或点击链接,php脚本是否会完全执行?有办法吗?
也许如果php脚本调用exec()方法或类似的东西,这将反过来通过控制台调用脚本:
$ php /var/www/httpdocs/maintenance.php
Run Code Online (Sandbox Code Playgroud)
?
如果这个问题重复,请重定向我,因为我找不到专门针对 PHP 提出的相同问题。
我知道 import 语句对 Java 和 Python 的影响,但由于 PHP 的工作方式不同,如果我保留这样未使用的 import(use)语句有什么关系吗?
use DateTime;
Run Code Online (Sandbox Code Playgroud)
我之所以问而不是仅仅删除是因为我即将启动一个重构的网站,除非这对性能有很大影响,否则我宁愿将它们留在那里,而不是冒着破坏网站的风险。
在尝试这样的简单编码时,我收到错误"找不到NVENC功能的设备",甚至跳过音频以确保它不是音频问题:
ffmpeg.exe -i input.mp4 -c:v hevc_nvenc -an out.mp4
Run Code Online (Sandbox Code Playgroud)
我还尝试了更多细节,比如设置像素格式,预设,速率控制和格式.
在文档页面上:https: //trac.ffmpeg.org/wiki/HWAccelIntro 它说如果我们得到这个错误,我们应该检查像素格式.视频在这里有yuv420p,甚至指定格式会导致相同的错误.
我还检查了NVidia支持的卡,它说的是GeForce,但没有关于这些型号的详细信息:https: //developer.nvidia.com/video-encode-decode-gpu-support-matrix#Encoder
我尝试了h264_nvenc并且它工作正常,但问题是只有hevc_nvenc有没有人遇到过这个问题?
完整控制台输出:
[h264 @ 0000000002534560] Reinit context to 1280x544, pix_fmt: yuv420p
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'input.mp4':
Metadata:
major_brand : isom
minor_version : 1
compatible_brands: isom
creation_time : 2014-05-23T13:04:15.000000Z
Duration: 01:54:03.95, start: 0.000000, bitrate: 3193 kb/s
Stream #0:0(und): Video: h264 (High), 1 reference frame (avc1 / 0x31637661), yuv420p(left), 1280x544 [SAR 1:1 DAR 40:17], 2750 kb/s, 23.98 fps, 23.98 tbr, 24k tbn, 47.95 tbc …Run Code Online (Sandbox Code Playgroud) 我是新来的码头工人,并试图与展示,最终一个完整的世界您好网页的基础上最重要的是最简单的搬运工,compose.yml LEMP堆栈,将有相同的配置为我的服务器。但是,大多数教程已过时,并且使用docker的方式太多了,我仅使用Docker compose v3仍然无法找到一种方法。我检查了一下文档,对于初学者来说也很令人困惑,在过去的5个小时里一直在努力使其正常工作,所以我想我应该问一下。
docker-compose.yml
version: '3'
services:
web:
image: bitnami/nginx:1.10.3-r0 #using this version as it's the same on my server
volumes:
- "./test.conf:/etc/nginx/sites-available/test.local"
- "./test.conf:/etc/nginx/sites-enabled/test.local"
- "./code:/var/www/html" #code contains only a basic index.html file
ports:
- "80:80"
Run Code Online (Sandbox Code Playgroud)
test.conf
server {
listen 80;
listen [::]:80;
server_name test.local;
index index.html; #Only a basic helloworld index.html file
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
root /var/www/html;
}
Run Code Online (Sandbox Code Playgroud)
我需要一个Dockerfile吗?教程似乎没有提到它是必需的。
注意:
尝试添加卷
- "./default.conf:/etc/nginx/conf.d/default.conf"
Run Code Online (Sandbox Code Playgroud)
但是没有任何变化,欢迎页面仍然加载,而使用nginx:latest时,我收到一个非常冗长的错误,其中包含以下短语:“未知:您是否尝试将目录挂载到文件上(反之亦然)?检查指定的主机路径存在,并且是预期的类型”。
有关docker-compose.yml的更新:
我见过很多关于使用 JavaScript/Html5 在网络浏览器中使用原始 TCP/UDP 套接字的问题,但是它们都很旧,就像5 年前发布的那样。现在是 2021 年,我想知道是否有可能避免使用 WebSockets,而是使用原始 TCP/UDP 套接字,以便我的本地网页可以与本地 Python 套接字服务器通信。
我不介意它是否无法通过互联网访问,或者我是否需要扩展,因为它仅适用于家庭项目,其中我的 Raspberry Pi 零上的网页将与我的主计算机通信以通过其 Python 套接字服务器请求数据。
我知道 Chrome 应用程序在被删除之前有一个套接字 API,并且我看到了这篇关于 Chromium 开发人员想要添加套接字的文章,但未能找到任何有关它的真实信息。
有谁知道在浏览器中使用原始 TCP/UDP 套接字的方法吗?
是否可以在CodeIgniter中指定"USE INDEX"或"FORCE INDEX",而不是使用
$this->db->query()
Run Code Online (Sandbox Code Playgroud)
我的意思是,如果可以在ActiveRecord的一个方法中的某处插入"FORCE INDEX".
是不是可以在PHP中做这样的事情?我想在一个成员变量中有一个名称空间,并且总是能够调用该类的每个静态方法,就像我在下面所做的那样.
当然我的代码不起作用,但我只是想知道这是否可行,并且我接近解决方案,或者如果这完全不可能并且必须始终使用语法:
\Stripe\Stripe::setApiKey(..);
Run Code Online (Sandbox Code Playgroud)
注意:我无法修改Stripe类,重要的是它保持不变,因为未来的开发人员必须更新Stripe API
简化代码:
class StripeLib
{
var $stripe;
public function __construct()
{
// Put the namespace in a member variable
$this->stripe = '\\'.Stripe.'\\'.Stripe;
}
}
$s = new StripeLib();
// Call the static setApiKey method of the Stripe class in the Stripe namespace
$s->stripe::setApiKey(STRIPE_PRIVATE_KEY);
Run Code Online (Sandbox Code Playgroud) (见底部的更新)
由于Android Studio更新到v3.0,我无法创建新的Activity ..我收到此错误报告对话框显示2个错误.我尝试了一个不同的项目,尝试清理项目,重新启动计算机,重新启动计算机,卸载/重新安装Android Studio,尝试遵循Google的项目Gradle迁移视频,但没有任何变化,我不能再工作......任何想法?
我没有点击"禁用插件"来禁用Android支持,因为我不想打破我不知道的事情.
第一条错误消息的详情:
null
java.lang.NullPointerException
at com.android.tools.idea.templates.TemplateManager$2.actionPerformed(TemplateManager.java:481)
at com.intellij.openapi.actionSystem.ex.ActionUtil$1.run(ActionUtil.java:215)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:232)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.lambda$actionPerformed$0(ActionMenuItem.java:309)
at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:929)
at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:136)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:299)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.lambda$fireActionPerformed$0(ActionMenuItem.java:116)
at com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:86)
at com.intellij.openapi.application.TransactionGuardImpl.lambda$submitTransaction$1(TransactionGuardImpl.java:109)
at com.intellij.openapi.application.TransactionGuardImpl.submitTransaction(TransactionGuardImpl.java:118)
at com.intellij.openapi.application.TransactionGuard.submitTransaction(TransactionGuard.java:122)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:116)
at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:513)
at com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:45)
at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:533)
at java.awt.Component.processMouseEvent(Component.java:6541)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6306)
at java.awt.Container.processEvent(Container.java:2237)
at java.awt.Component.dispatchEventImpl(Component.java:4897)
at java.awt.Container.dispatchEventImpl(Container.java:2295)
at java.awt.Component.dispatchEvent(Component.java:4719)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4889)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4526)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4467)
at java.awt.Container.dispatchEventImpl(Container.java:2281)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4719)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)
at java.awt.EventQueue.access$500(EventQueue.java:98)
at java.awt.EventQueue$3.run(EventQueue.java:715)
at …Run Code Online (Sandbox Code Playgroud) 我想拥有特定于域的 robots.txt,到目前为止这有效:
RewriteRule ^robots\.txt$ robots/%{HTTP_HOST}.txt [L]
Run Code Online (Sandbox Code Playgroud)
但我想有一个后备,所以如果 domain.txt 文件不存在然后去 default.txt
这并没有真正解决,因为它会重定向所有不存在的文件名,而且我已经在不同的规则中有一个 !-f: RewriteCond %{REQUEST_FILENAME} !-f RewriteRule robots/default.txt [L]
所以我需要: 1-catch robots.txt requests 2-Send to robots/domain.txt 如果它存在 3-Else 发送到 robots/default.txt
我正在尝试重定向所有必须的网址/__/并/public/assets/让它在 .htaccess 中工作,但不能在 httpd.conf 中全局工作它应该做的是重写:
http://example.com/__/test.css
到
http://example.com/public/assets/test.css
到目前为止,我已经为 .htaccess 工作了:
RewriteRule ^(.*)/?__/(.*)$ $1/public/assets/$2 [L]
Run Code Online (Sandbox Code Playgroud)
(这可能写得不正确,但这是我设法使其发挥作用的唯一方法)。然而,如果我把它放在 httpd.conf 中,它根本不起作用。我试着调整它,尝试把它放进去<VirtualHost 127.0.0.1>,放进去<Directory "c:/DEV/wamp/www/">,但还是不行。现在已经在这上面浪费了 3 个小时的时间,并在 Stackoverflow/论坛上找到了很多例子,但奇怪的是它们都不适合我。
编辑: 这是我尝试过的两个块的示例。[R] 是验证规则是否有效并重定向:
<VirtualHost 127.0.0.1>
DocumentRoot "c:/DEV/wamp/www/"
<Directory "c:/DEV/wamp/www/">
Allow From All
RewriteEngine On
RewriteRule ^/(.*)?__/(.*)$ /$1public/assets/$2 [R]
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
和这个:
<Directory "c:/DEV/wamp/www/">
Allow From All
RewriteEngine On
RewriteRule ^/(.*)?__/(.*)$ /$1public/assets/$2 [R]
</Directory>
Run Code Online (Sandbox Code Playgroud)
EDIT2: 尝试从建议的答案中进行选择编辑,仍然无法在服务器上找到css文件。
<Directory "c:/DEV/wamp/www/">
Allow From All
RewriteEngine On
RewriteRule ^__/(.*)$ public/assets/$1 [L]
</Directory>
Run Code Online (Sandbox Code Playgroud) php ×4
.htaccess ×2
apache ×2
mod-rewrite ×2
namespaces ×2
ajax ×1
bash ×1
codeigniter ×1
docker ×1
ffmpeg ×1
h.265 ×1
hevc ×1
httpd.conf ×1
javascript ×1
jquery ×1
mysql ×1
nginx ×1
nvenc ×1
raw-sockets ×1
shell ×1
sockets ×1
websocket ×1