PHP regex将新的行数限制在最大两行的范围内
我正在使用它,但它用 替换了新线路的单一事件 function nl2br2($string){ $string = preg_replace('/(\r\n){2,}/', ' ', $string); //$string = preg_replace('/[\r\n]/', ' ', $string); return $string; } 它发生在第一个模式中. 解决方案 好吧,我怀疑您的输入可能不是'/r/n',而只是'\ n'.在这种情况中 因此您的代码可能是: function nl2br2($string){ $string = preg_replace('/(\r?\n){2,}/', ' ', $string); return $string; } 希望这会有所帮助. 其他解决方案 在纳瓦曼(Nawaman)的协助下,我做了我的代码
0 2023-06-02
编程技术问答社区
获取网页打印屏幕,php/unix
如何远程获取网页打印屏幕?使用Linux/UNIX或PHP工具. 用户输入页面地址,我想保存服务器上的外观(作为图像). 解决方案 您想要一个无头Web浏览器(即,您可以从命令行中运行的无图形接口).一种可能性是 phantomjs ,使用了Webkit渲染引擎. 特别是您想要 render() method>方法 . 来自示例页面页面 C1>: var page = new WebPage(), address, output, size; if (phantom.args.length 3) { console.log('Usage: rasterize.js URL filename'); phantom.exit(); } else { address = phantom.args[0]; output = phantom.args[1]; pag
0 2023-06-02
编程技术问答社区
无法在Linux上进行语言环境工作
我正在编写PHP应用程序,并使用GetText模块翻译为不同的语言. 该代码正如我在本地计算机(Windows运行WAMP)上期望的那样工作,但是我无法在服务器上使用(UNIX + APACHE2) { $locale_folder = dirname(dirname(dirname(__FILE__))).'/locale/'; $locale = 'he_IL'; $domain = 'myapp'; $autoreload = true; // activate the locale setting setlocale(LC_ALL, $locale); setlocale(LC_TIME, $locale); putenv("LANG=$locale"); putenv("LANGUAGE=$locale");
0 2023-06-02
编程技术问答社区
如何杀死运行在本地主机8080端口的Apache / PHP服务器?
我目前正在运行MacOS High Sierra版本10.13.6. 这是我在浏览器中加载localhost:8080时得到的: apache/php服务器屏幕截图 我不知道该端口上该服务器是如何启动的,因为我从未使用过这些技术.我时不时地弄乱了Web开发,但是我不知道服务器启动时在做什么.我已经研究了如何杀死该过程,到目前为止,我最接近结束服务器的是杀死我的Chrome浏览器.我试图找到在端口8080上运行的过程: ps aux | grep 8080 lsof -t -i @localhost:8080 netstat -l -p | grep 8080 lsof -nP -i | grep 8080 还有一些我尝试过的看起来很相似,但我不记得所有这些.使用LSOF命令时,我通常必须将sudo放在他们面前以表现出来.有时我再也没有回来了,有时我会得到这样的东西: ps aux输出postgres过程为.. 当我收回与它们相关的PID的过程时,我会尝试用ki
0 2023-06-02
编程技术问答社区
从PHP文件中批量删除恶意线
在此处简要介绍: PHP文件中的字符串,但我正在寻找相同代码的解决方案.服务器上每个PHP文件的第一行开头 结尾.在中间是一串长的代码字符串,随着文件而异. 我试图提出一个脚本以从所有文件中删除此行.我在上一篇文章中与那个家伙碰到了同一堵墙. 使用: sed -e '1 s/^//' *.php 在UNIX环境中,环境无需代码即可打印PHP文件,但不能保存它.我想念什么? 解决方案 使用SED的-i选项,以便修改PHP文件. -i[SUFFIX], --in-place[=SUFFIX] edit files in place (makes backup if extension supplied) [后缀]部分是可选的,但某些SED实现需要您提供. 在您的情况下,您可以尝试以下方法: sed -i.
0 2023-06-02
编程技术问答社区
我怎样才能在PHP中简单地安排一个cron job?
我如何轻松地简单地安排PHP中的CRON工作? Rails有背景R. 解决方案 大多数网站控制面板(假设您有CPANEL或类似运行的内容)都包含一个Crontab应用程序.如果您正在共享主机,请询问您的主机. 如果您在专用的服务器上并安装了Cron,请查看 crontab语法.这些命令在crontab中,通常在 *nix. 上. 其他解决方案 这是一个半php解决方案,可以添加到crontab: $cmd = 'crontab -l > /tmp/crontab.bak'; // preserve current crontab $cmd .= ' && echo "*/5 * * * * /foo/bar" >> /tmp/crontab.bak'; // append new command $cmd .= ' && crontab /tmp/crontab.bak'; // update crontab $cmd .= ' rm /tmp/crontab
0 2023-06-02
编程技术问答社区
JavaScript日期来自PHP Unix时间戳
在数据库中,我有一个与日期和时间的行,例如2014-04-16 00:00:00然后,我使用 将DateTime转换为Unix Timestamp strtotime('2014-04-16 00:00:00') * 1000; // result 1397577600000 在JavaScript中,我正在尝试使用以下代码来获取小时 var d = new Date(1397577600000); // 1397577600000 from php unix timestamp in previous code d.getHours(); // return 23 d.getMinutes(); // return 0 为什么getHours()返回23而不是0? JS Timestamp和PHP Timestamp之间有什么区别? 解决方案 Date JavaScript中的对象将始终基于浏览器的当前时区返回值.因此,如果d.getHours()为您返回23
0 2023-06-02
编程技术问答社区
PHP Exec PGP命令
我想使用php来" exec" pgp加密命令.无论命令行如何,我都会得到ERR 64(解析器错误)或162(编码期间的完全失败).因此,我已经将PHP程序中的命令行减少到了这个简单的指纹显示,该显示器静止不动: exec("/opt/pgp/bin/pgp --fingerprint", $results); 如果我在命令行上运行"/opt/pgp/bin/pgp -fingerprint",则我获得"找到2个键"和预期显示.但是PHP下的同一执行程序给了我解析器错误64.我尝试了字符串命令" \ n",但这并没有改变.用户在浏览器中以"没有人"的身份运行,该浏览器确实在PGP上执行了权限. (如果PGP至少不是启动,我什至不会从中看到"解析器错误".) 为了在PHP下运行PGP,我需要做一些特别的事情吗? 我回到了尝试实际加密数据文件.这是PGP创建的"状态文件"输出.它清楚地显示了我试图加密" test.txt"文件上"权限拒绝"的最后一行的错误.那是虚假的.
0 2023-06-02
编程技术问答社区
如何用一个应用程序跟踪SMB中的文件?
我已经构建了一个使用PHP的应用程序,该应用程序显示了用户主目录中此目录中的所有文件,也可以通过Samba获得,因此您可以从Windows,Mac和Linux中的本机浏览器访问它.我想给每个文件一个ID,以便我可以在每个文件中敏感到您如何执行此操作?您会制作文件的哈希,并查看其是否相同的filehash并因此得出结论是同一文件吗? 我可以每次移动文件或文件夹时触发桑巴 解决方案 如果您的平台是Linux,并且安装相当新,则可以使用Inotify进行php代码,然后在进行文件类似更改时调用您的PHP代码.请参阅PHP手册的这一部分: 在.inotify.php 基本用法是在SAMBA目录上添加一个观察者或用回调到您的PHP代码的目录.出于绩效原因,最好看看是否可以告诉Inotify是否只将您感兴趣的更新类型发送到您的代码. 请注意,在一段时间后,Intify将删除更新/消息.因此,您会在某个时间点保持同步事物的问题.一种解决方案是持续使用inotify,并定期对每个
0 2023-06-02
编程技术问答社区
XAMPP Windows上的Php Cron作业
好吧,我是该词CRON的新手.我知道的是,安排在定义时间间隔后执行特定操作的Unix概念. 我需要运行一个php文件,以每小时更新数据库.但是我的困惑是安排执行.我正在使用XAMPP在Windows 7上进行本地开发测试. 我发现的东西: 如何在Bigrock共享托管服务的CPANEL中运行PHP文件? 在Windows Xampp中设置Cronjob 如何使用PHP创建Cron作业? 在上述所有链接中,他们说要在Linux Shell级别上配置A cron作业. 也是如此,cron处于操作系统级别而不是应用程序级别的程序. 如果是,那么我如何在共享托管上创建PHP中的cron.如果我无法访问命令行,那么我将无法为PHP创建CRON作业.? 如果否,那么如何? 在上述所有示例中,我都发现了一种类似的代码方式: 0 * * * * cd C:/xampp/htdocs/plugins/moviefeed/ && php cron.
0 2023-06-01
编程技术问答社区
预防/..用户输入
我在文件夹中有一个PHP脚本(我称其为根文件夹).该脚本基本上可以在此根文件夹的子文件夹中列出所有文件.用户可以使用Get-Parameters指定应显示哪个子文件夹. script.php?foo 将显示 的内容 /foo/ 和 script.php?.bar 将显示 的内容 /.bar/ 但是,用户也可以"作弊",并使用/..之类的命令来显示他们无法看到的文件夹的内容. 例如 script.php?/../.. 用户在文件夹层次结构中可能会变得很高. 您有一个想法如何防止这样做"作弊"的用户. 出于简单的原因,假设参数存储在$searchStatement>. 中 解决方案 您可以使用realpath解决绝对路径的相对路径,然后检查该路径是否从" root"文件夹的路径开始: $absolutePath = realpath(__DIR__ . '/' . trim(
0 2023-06-01
编程技术问答社区
如何用php设置一个crontab?
我需要从PHP脚本设置一个crontab.我知道可以通过 设置它 system("echo '* * * * * echo \"Hello world\"' >> cron.crontab"); system("crontab cron.crontab"); //cron.crontab is the file name of the crontab " cron.crontab"文件是在root Directory中创建的,但是crontab无法正常工作!当我尝试以下命令时,它说未设置crontab! crontab -l 我想我缺少一些东西.我正在使用YII框架.在YII框架中是否可以处理Cron?还有其他方法吗?请帮我.谢谢. 解决方案 您是否正在运行crontab -l作为与Web服务器在下面运行的用户相同的用户?否则您将不会看到它的cronjobs. 其他解决方案 Apache通常无法与主孔板一起陷入困境.但是,每个用户也都有一个cro
0 2023-06-01
编程技术问答社区
如何判断ffmpeg是否出错?
情况: 我正在使用FFMPEG(通过PHP)转换视频文件.我配置了转换脚本,以从exec()命令返回输出(作为$错误阵列).我的假设是,如果未发生错误,$错误将是一个空数组. 问题: 问题在于,即使转换没有错误,脚本也会返回输出. (我可以说没有错误,因为可播放的视频文件已输出.) 问题: FFMPEG如何格式化其错误/输出?我希望能够解析此错误,并确定是否发生错误以及发生了什么错误. 谢谢! 代码: *非错误输出的示例: FFmpeg version git-N-29201-g37c0a44, Copyright (c) 2000-2011 the FFmpeg developers| built on Sep 9 2011 23:29:21 with gcc 4.1.2 20080704 (Red Hat 4.1.2-50)| configuration: --prefix=/usr/local/hgffmpeg --enable-shar
0 2023-06-01
编程技术问答社区
Time()根据服务器返回不同的时间戳
我现在搜索了很多小时,似乎没人遇到这个问题. 我运行了一个脚本,该脚本将当前的时间戳写入两个服务器上.两者都有相同的操作系统,软件和相同的时区. 现在我发现,某些时间戳和当前时间()之间的差异是负数(是的,计算是正确的:time() - $older_timestamp) 我在两个服务器上都倾倒了Time(),结果:它完全不同了一个小时. 检查一下: time()在服务器#1:-1小时 time()time()on Server#2:正确的时间戳 由于时间()应该始终基于UTC,所以我无法解释,这是如何发生的. 有人有任何想法吗? 来自Aachen的问候 解决方案 显然,服务器一,服务器两个设置为不同的时间.检查 BIOS 和您的服务器的OS 时间. 其他解决方案 要添加到快乐的节日中,我给你另一个选择. OS的时区可能设置不正确.如果两个时钟都在同一时间显示,但一台服务器认为它在伦敦而另一台服务器认为它是在Aachen中
0 2023-06-01
编程技术问答社区
UNIX时间是否记录时区?
我想询问unix时间,unix时间记录时区吗? 我将托管从芝加哥/美国搬到了JST. 问题是我的整个MySQL数据库都有UNIX时间的记录(芝加哥/美国时区) 我有一个php代码可以显示时间前(前3天,昨天等) 当我搬到新服务器时,它说明天 明天避免这种情况,可以将服务器放下一天以与当前服务器的时区同步吗? 我担心UNIX时间不仅记录日期和时间,还记录时区... 我可以设置php.ini时区,但是我的apache会放缓吗? 解决方案 " 0"在UNIX时间内是1970年1月1日在UTC时间.每个Unix时间是从那日,时间和时区开始的秒. 其他解决方案 'Unix Time'是时代的毫秒数,这是我们所有地球的标准配置.然后,时区被用作当时的修饰符. 其他解决方案 POSIX 7 如果年度为> = 1970并且该值是非负的,则该值与c-language表达式有关协调的通用时间名称,其中TM_SEC,TM_SEC,TM_MIN,TM
0 2023-06-01
编程技术问答社区
Cron Job + Twitter
每小时从12:30开始(并继续到1:30、2:30等)我的应用程序将发布静态推文.我目前正在使用Themattharris的Twitter API.我也有一份Cron工作. 30 * * * * php -q /home1/USER_NAME/public_html/twitter/index.php 我遇到的问题是,当我手动刷新Index.php和我的Cron Job Sem-semiks时,PHP代码可以工作.我从Cron工作中收到的电子邮件是: Error 200 我想知道的是,我该如何使我的cron工作?我的cron工作没有任何错误. include 'tmhOAuth/tmhOAuth.php'; $tmhOAuth = new tmhOAuth(array( 'consumer_key' => 'XXX', 'consumer_secret' => 'XXX', 'user_token' => 'XXX', 'u
0 2023-06-01
编程技术问答社区
PHP在chmod时失败?
我正在运行php 5.3.5-1ubuntu7.2(使用safe_mode = Off),我无法正确设置来自PHP脚本中任何文件或目录的模式,我对以下编码进行了编码测试(只是为了确保): $result = array(); if (mkdir('./I/do/not/exist/', 0777, true) === true) { $result['./I/'] = sprintf('%s (%s)', getFileOwner('./I/'), getFilePermissions('./I/')); $result['./I/do/'] = sprintf('%s (%s)', getFileOwner('./I/do/'), getFilePermissions('./I/do/')); $result['./I/do/not/'] = sprintf('%s (%s)', getFileOwner('./I/do/not/'), getFileP
0 2023-06-01
编程技术问答社区
加载php模块时出错
我在/etc/php/7.0/cli/php.ini中添加了curl模块: extension = /usr/lib/php5/20121212/curl.so 但是,当我重新启动PHP时,我会: php -m 我得到此错误: curl : Unable to initialize module Module compiled with module API=20121212 PHP compiled with module API=20141010 These options need to match 我也尝试了: apt-get install php5-curl 卷曲是"已经到新版本". 和phpinfo()告诉php5正在运行: PHP Version 5.5.9 php.ini Path : /etc/php5/fpm PHP Extension : 20121212 但是,当我使用以下方式检查服务器时 w
0 2023-05-31
编程技术问答社区
PHP打开流失败。太多的开放文件
我的错误有问题:PHP无法打开流:太多的打开文件. 我在Stackoverflow上查看了各种答案,但是我无法解决这个问题.我主要试图增加最大限制.打开文件: 我已经编辑了/etc/security/limits.conf我指定了以下内容: * soft nofile 10000 * hard nofile 30000 保存和登录/重新启动框后,命令: ulimit -n 仍然打印出1024.我不确定为什么没有效果,我认为这就是我遇到PHP错误的原因.如果需要,我可以粘贴整个文件或任何其他配置文件.我正在使用PHP 5.6,Nginx 1.8.0和PHP-FPM. 现在对我有用的解决方案是用: 手动重新启动nginx service nginx restart 之后,这件事再次工作.主要是当我运行单元测试,Behat测试或向Web服务器提出大量请求时发生问题. 解决方案 解决方案
0 2023-05-31
编程技术问答社区