Articles of PHP

PHPcaching控制

我最近在我的网站上启动了一些caching控制,似乎有些function因此而停止工作。 我的PHP内容不再更新。 在Chromenetworking工具中,我可以看到一些PHP脚本请求大小(来自caching)。 我尝试刷新页面,但它仍然没有更新。 只有当我从Chrome中删除整个caching数据时才会更新。 我试图删除我在.htaccess中做了什么,但它并没有更新。 我如何声明PHP脚本不应该保存在caching中? 目前,JavaScript文件使用ajax和GET方法来更新一些不再更新的HTML文本。 我的.htaccess: AddDefaultCharset UTF-8 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME}\.php -f RewriteRule ^(.*)$ $1.php ## EXPIRES CACHING ## <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 1 month" # Media: images, video, audio ExpiresByType image/gif "access plus 1 year" ExpiresByType image/png "access plus 1 year" ExpiresByType image/jpg "access […]

FFMPEG在控制台上工作,但在Ubuntu上的PHP脚本中不起作用

我有这个应用程序,我需要将video文件转换为MP4,然后压缩它。 我试图使用FFMPEG来获得这个工作。 尝试在控制台中的命令行,它的作品很好 转换 ffmpeg -i teste.avi teste.mp4 压缩 ffmpeg -i teste.mp4 -acodec mp2 teste.mp4 但是当我在一个PHP脚本中做同样的事情时,它开始大喊GLIBCXX没有安装。 这是错误的: ffmpeg: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.11' not found (required by /usr/lib/i386-linux-gnu/libjack.so.0) ffmpeg: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/lib/i386-linux-gnu/libjack.so.0) ffmpeg: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/lib/i386-linux-gnu/libjack.so.0) ffmpeg: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/lib/i386-linux-gnu/libzmq.so.3) ffmpeg: /opt/lampp/lib/libstdc++.so.6: […]

数以百万计的请求和MariaDB与PostgreSQL

我不要求比较。 我已经知道PostgreSQL和MariaDB是什么和差异。 我从另一个angular度来看待这个问题。 像Facebook这样的公司使用MySQL (当然是修补),但他们如何处理数百万的请求? 要更清楚一点; PostgreSQL有PgPool工具caching和重新使用当前连接的每个人尽可能多的客户端数据是相同的。 所以,当PHP应用程序连接到PgPool 10.000次时,它实际上使用很less的连接。 这使得PostgreSQL可以在没有max connection错误的情况下同时被数百万用户使用。 但在MariaDB / MySQL上有一个max_connection设置指向150 。 是不是意味着只有150个客户端可以从同一个PHP Web页面连接到MariaDB / MySQL? 我应该怎么做来处理例如数百万从PHP到MariaDB的请求? 如果有2百万用户同时login到我的网站,如果我的max_connection是150会发生什么情况? 或者,更好,是否有像PgPool一样的MariaDB? 在这种情况下我会适用什么样的情况?

错误的JPEG库版本:库是62,调用者期望80

我有与imagick PHP扩展的问题。 当试图操纵jpeg文件时发生错误: 错误的JPEG库版本:库是62,调用者期望80 我正在试图找出图书馆在哪里与: # ldconfig -p | grep libjpeg libjpeg.so.8 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libjpeg.so.8 libjpeg.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libjpeg.so 和 # whereis libjpeg libjpeg: /usr/local/lib/libjpeg.a phpinfo()显示: libJPEG Version 6b 在“gd”部分 我也尝试通过apt-get安装libjpeg8和libjpeg8-dev,它说它已经安装: libjpeg8 is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. libjpeg8-dev is already the newest version. […]

无法使用本地IPv6地址连接到云端SQL

我想使用其免费IPv6地址连接到Google云SQL实例,而不是购买IPv4地址。 为此,我查了我的IPv6地址,并允许它。 我也查了我的路由器的IPv6前缀,并允许(afaik,应该允许我的家庭networking中的所有电脑访问SQL实例)。 下面的代码创build了这个问题: $servername = "2001:6532:1234:1:6a4f:e1d7:5d69:52a3"; $username = "looooool"; $password = "superSecretStuff"; $dbname = "myDB"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); 而且这个代码会产生这个错误: Warning: mysqli::mysqli(): php_network_getaddresses: getaddrinfo failed: Der angegebene Host ist unbekannt. in C:\Users\kjh\Documents\SF WEBSITE\appengine-try-php-master\connect_db.php on line 8 Warning: mysqli::mysqli(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Der angegebene Host ist unbekannt. in […]

在CentOS 6.4上使用远程MySQL的LAMP服务器

我是相当新的Linux和LAMP设置。 我想在一台Linux服务器上设置AP的LAMP环境,在另一台Linux服务器上设置M。 我很难用这样的configurationfind相关的文档。 到目前为止,我已经完成了以下步骤: server1的: yum install -y httpd /sbin/service httpd restart yum install -y php php-mysql sed -i "s/Listen 80/#Listen 80/g" /etc/httpd/conf/httpd.conf yum install -y mod_ssl openssl /sbin/service httpd restart service iptables stop 我从/etc/httpd/conf/httpd.conf中更改了ServerName #ServerName www.example.com:80 至 ServerName 172.32.35.14 (ip address of server1) /sbin/service httpd restart 服务器2: yum install -y mysql-libs yum install -y […]

从PHP web应用程序单一login多个身份提供商

我正在PHP中构build一个需要集成SSO的SAAS Web应用程序。 我们将拥有多个客户机构,每个机构都有自己的标识提供程序(Active Directory)。 在研究可能性的同时,我遇到了SimpleSAMLphp,但是我不确定它是否能够满足我的要求,并希望得到关于实现的最佳方法的反馈。 似乎像SAML或Kerberos是要走的路,但我在这方面的经验有限。 需要这些能力: 客户端pipe理员应该能够通过AD添加和删除我们的应用程序的访问。 使用各自的AD服务器对用户进行身份validation(与其他人进行身份validation的灵活性) – 除了依赖于静态IP,我怎么知道要检查哪个身份提供者? 没有身份提供者的组织的用户应该能够通过现有的身份validation方法(mysql中的散列传递)进行login。 其他信息:我打算在CentOS服务器上托pipePHP应用程序。 我们有能力连接站点到站点VPN,如果需要的话…在stackoverflow上添加这个问题,没有响应那里,希望有些服务器pipe理员在这里可能有一些洞察力。 更新:此外,我们将有一个IONIC混合应用程序(IOS /安卓),将需要有SSO – 在这一点上,我不知道如何将配合。移动应用程序将通过REST API进行通信,开发PHP。

如何在Linux上安装mysqli_ for PHP而不影响其他内容?

我有一个服务器的根访问权限,它目前正在运行一个有很多销售的现场电子商务网站。 该网站目前使用mysql_的一切。 mysqli_完全没有安装。 我需要保持mysql_工作和其他每一个设置相同,使网站不断运行。 我如何简单地安装mysqli_而不用改变其他东西呢?

HHVM不使用memcached作为保存处理程序?

我使用HHVM来提供我的PHP内容,并有一个memcached实例设置,以便将其用作会话的保存处理程序,但是我不确定HHVM是否实际使用它。 这是/etc/hhvm/php.ini的相关部分: session.save_handler = memcached session.save_path = /tmp/memcached.sock memcached.sess_prefix = 'php_' 注意; 我必须使用memcached的session.save_handler值,而不是像在vanilla PHP中使用的memcache 。 我也必须设置一个memcached.sess_prefix否则我得到的错误是空的。 但是,如果我连接到memcached并请求其统计信息,则看起来好像任何会话都存储在memcached中。 以下是命中/失误的统计数据: STAT get_hits 15 STAT get_misses 29 memcached守护进程已经连续运行好几个星期了,所以这些值看起来非常低。 事实上,我怀疑他们可能是当我简单地使用香草PHP安装之前切换到hhvm 。 有关memcached或会话的/var/log/hhvm/error.log中没有错误,所以它似乎没有连接失败,这表明它根本没有尝试。 虽然如果是这样的话,我不知道会话是如何被存储的,因为它们似乎没有进入/tmp ,但它们确实似乎工作(HHVM / PHP是否将任何会话数据存储在RAM本身?) 一切似乎都正确configuration,有什么我需要改变?

Zend Framework在PHP 7上

我最近升级了我的服务器使用PHP 7.0。 但是,在此升级之后,我注意到我的Web应用程序无法正常工作。 我看着我的apache2 error.log文件,发现这个错误: PHP致命错误:未捕获错误:未find类“Zend_Loader_Autoloader” 当我在命令行上input'php -v'时,显示如下: PHP 7.0.0-5 + deb.sury.org〜trusty + 1(cli)(NTS)版权所有(c)1997-2015 PHP集团Zend引擎v3.0.0,版权所有(c)1998-2015 Zend技术与Zend OPcache版本号(c)1999-2015,由Zend Technologies提供 它看起来像框架安装,但只为cli(不是Apache)。 有谁知道如何启用它的Apache? 谢谢。