Articles of PHP

更改php.ini中的session.save_path不起作用

Fedora 25 + PHP 7 + Apache 2.4.23 您好,我更改php.ini中的session.save_path并重新启动apache后,我可以成功validation它是修改: $ php -i | grep session.save_path 但是,在html / php页面本身,会话不是写在session.save_path中,而是固定地写在/ var / lib / php / session /中。 即使在.htaccess中设置值也不起作用: php_value session.save_path "/mycustom/path/folder" 唯一可以覆盖默认/ var / lib / php / session /的工作解决scheme是在php文件本身中设置值: ini_set('session.save_path','/mycustom/path/folder'); 有任何想法吗?

错误:无法定义SCIHOME环境variables

我试图通过PHP在我的服务器上使用Scilab,如本文档中所述 。 我正在运行Ubuntu 16.04。 我有一个Apache服务器运行。 我用apt-get install scilab 。 我可以成功编写scilab代码,如: scilab -nwni -nb -e "m=[1 2 3; 3 4 5];disp(m);exit" 所以现在我试图从PHP执行它。 我试了文档中的例子。 例如: <?php exec('scilab -nwni -nb -e "m=[1 2 3; 3 4 5];disp(m);exit;"', $output); print_r($output); ?> 但我总是得到: Error: Impossible to define SCIHOME environment variable. SCIHOME not defined. 我不知道我在做什么错,如何解决它… 任何帮助将不胜感激 !

Prestashop 1.7在前端商店中redirect过多

试图导航到Prestashop 1.7站点的前端商店时,我总是收到ERR_TOO_MANY_REDIRECTS。 但是,当进入pipe理后端时,这是很好的。 任何的意见都将会有帮助。 网站正在运行Nginx,PHP-FPM7,MariaDB。 下面的Nginxconfiguration文件: upstream examplecoukbackend { server unix:/var/run/php-fcgi-examplecouk.sock; } server { listen 80; server_name example.co.uk; return 301 https://$server_name$request_uri; } server { listen 443 ssl; ssl_session_timeout 24h; ssl_session_cache shared:SSL:10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDH+AESGCM:ECDH+AES256:ECDH+AES128:DH+3DES:RSA+3DES:AES128-SHA:!ADH:!AECDH:!MD5; ssl_prefer_server_ciphers on; ssl_certificate /etc/letsencrypt/live/example.co.uk/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.co.uk/privkey.pem; server_name example.co.uk; root /var/www/vhosts/example.co.uk/htdocs; access_log /var/www/vhosts/example.co.uk/access.log; error_log /var/www/vhosts/example.co.uk/error.log; index index.php index.html; location […]

Google Cloud SQL与PHP中的Google应用程序引擎

无法连接Google Cloud上的Laravel 5.2。 我创build了一个新的MySQL 5.6第二代实例,并将conf / database中的连接参数与实例的外部IP相加,本地laravel服务器工作正常。 但是,当我在谷歌云上部署代码时,它给了我关于unix套接字的错误。 我的问题是,在云引擎应用程序内使用数据库实例的正确连接参数是什么? 那么,我应该只将数据库名称和db_host作为:服务器上的本地主机,还是空的或mysql实例的外部IP地址? 我假设我需要使用unix套接字,但是,我没有发现任何使用Google云端控制台的活动unix套接字文件。

在Ubuntu 16.04上从PHP 7.0升级到7.1不起作用

我成功运行7.0,并想升级到7.1。 到目前为止,我已经做了以下, sudo service apache2 stop sudo add-apt-repository ppa:ondrej/php sudo apt-get update sudo apt-get upgrade sudo apt-get install php7.1 php7.1-common sudo a2enmod php7.1 sudo service apache2 start 现在, php -v给我7.1.1,但是phpinfo()是说7.0.15 我错过了什么,有一个configuration文件,我需要改变的地方? 谢谢你的帮助!

如何使用Nginx提供Autodiscover.xml

我正在尝试使用Nginx提供Autodiscover.xml文件: 以下是我的configuration: 上游autodiscoverexamplecoukbackend { server unix:/var/run/php-fcgi-autodiscoverexamplecouk.sock; } 服务器{ 听80; 听443 ssl; ssl_certificate /etc/letsencrypt/live/autodiscover.example.co.uk/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/autodiscover.example.co.uk/privkey.pem; server_name autodiscover.example.co.uk; root /var/www/vhosts/autodiscover.example.co.uk/htdocs; index index.html; error_log /var/www/vhosts/autodiscover.example.co.uk/error.log; access_log /var/www/vhosts/autodiscover.example.co.uk/access.log合并; #位置^〜/ autodiscover / { #index autodiscover.php; #rewrite ^ /。* $ /autodiscover.php last; #} 位置〜* / autodiscover / { 重写^ / autodiscover / autodiscover \ .xml $ /autodiscover/autodiscover.php最后; } location = […]

Roundcube和PHP 5.6

由于将我的服务器升级到最新版本的Debian,roundcube(1.2.3)不再有效。 事实certificate,这是因为新版本的PHP(5.6)现在检查它是否是有效的证书。 基于进一步调查,我发现我可以添加以下行到我的config.inc.php文件: $config['imap_conn_options'] = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false ) ); $config['smtp_conn_options'] = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false ) ); 我也有以下设置: $config['default_host'] = 'tls://localhost'; 我正在使用这个roundcube安装多个域名,所以不想在这里放置一个特定的域名。 我也不想支付证书,所以想把verify_peer设置为false。 当我尝试login时说“login失败”。 系统日志给出了以下错误: Feb 8 10:55:19 server1 dovecot: imap-login: Disconnected (auth failed, 1 attempts in 2 secs): user=<office>, method=PLAIN, […]

LAMP堆栈,只读/写访问特定的目录

我正在考虑build立一个AWS微型实例,从中我可以运行许多不同的,不相关的网站。 我与我的共享主机有一个问题,就是我的一些客户运行Wordpress网站,有时并没有及时更新到最新版本,因此我们很容易受到安全漏洞的攻击。 以前,当这些WordPress的网站之一已经受到影响,我的共享主机上的所有其他网站已经受到影响,包括非WordPress的网站。 如果它再次发生,我想至less包含这个。 在单个Linux实例中,有没有一种方法可以让多个PHP“用户”(使用这个术语非常松散),每个用户的读写权限不得高于网站的根目录? 我已经看到了OpenVZ的build议,但这似乎是一个很大的性能影响,收益不大。 如果之前已经提出过这个问题,我们抱歉 – 这是一个很难简明扼要地进行Googlesearch的内容之一,但是显而易见的是,以前肯定有人问过同样的事情。

Chroot不能使用php-fpm

我应该在我的站点使用chroot作为我的ftp目录:我的php-fpm.conf: [mysite.com] listen = /var/run/php7-fpm-chroot-filemanager.sock chroot = /var/www/mysite.com/fileman chdir = / user = filemanuser group = filemangroup pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3 我的nginx.conf部分: location ~* /fileman/(.+\.php)$ { root /var/www/mysite.com/; include /etc/nginx/fastcgi_params; if (!-f /var/www/mysite.com$fastcgi_script_name) { return 405; } fastcgi_index index.php; fastcgi_pass unix:/var/run/php7-fpm-chroot-filemanager.sock fastcgi_param SCRIPT_FILENAME /var/www/mysite.com$fastcgi_script_name; […]

如何在Nginx中根据不同根目录使用不同的PHP-FPM池

我正尝试将一些运行Apache和mod_php的旧版服务器的网站迁移到使用PHP-FPM的Nginx和PHP 7的新服务器上。 这两个网站都在域的根目录下运行一个PHP购物车,并在子文件夹/ news中运行一个wordpress博客。 现在,在旧服务器上,press blog这个词就在一个名为news的文件夹中(因此与购物车文件混合在一起)放在新服务器上,我想将它们分开,以便每个应用程序都可以在其中拥有单独的文件夹,以便: / home / www / sitename / cart / htdocs中的文件位于https://www.site.tld/ 和 / home / www / sitename / wordpress / htdocs中的文件可在https://www.site.tld/news/上find 我还希望能够使用不同的PHP-FPM池来提高安全性,如果需要允许我使用PHP 5池运行任一应用程序,直到它可以更新为在PHP 7上运行。 我已经接近了,但它一直试图从/home/www/sitename/wordpress/htdocs//news/test.php加载/news/test.php而不是/ home / www / manicpanic / wordpress / htdocs / test。 PHP。 configuration: server { listen iphere:443 ssl http2; #ssl conf root /home/www/sitename/cart/htdocs; server_name […]