VisualStudioCode + php : specify "include path" for code completion - php

New to php with VisualStudioCode, i'm searching a method (settings, extensions, ...) to add a path to include php library, for code completion only.
Let's say, for the example, that I'm working on a wordpress plugin.
My VSC working directory is /Users/richnou/Documents/my-wp-plugin/ which contains only the plugins files (php, sass, css, gitignore, etc...) ; they are automatically sent to a development server.
With this configuration, all the core Wordpress functions are Undefined function (I have PHP IntelliSense and PHP Intelephense installed).
There is a way to specify folders that will be scanned for code completion and hints ? So, one Wordpress Code installed in a common directory (say, /Users/richnou/Documents/wordpress/ for ex.), so outside of my directory. (Netbeans has this "include path" notion...)
Thank's in advance

Problem here is that Documents folder is secured, so put plugin file on path /Users/richnou/
Solved my problem

One solution (not ideal but which works) is to go through a symbolic link to a local installation of Wordpress...
ln -s /Users/richnou/Documents/wordpress/ wp

Related

Purchased Web template. Index file is PHP instead of HTML, how do I edit the template?

I purchased a marketplace template. I am used to see index.html files when I load them into brackets for editing. This template however has an index.php file.
My question is how do I go about editing the index.php file? Would it be the same as I would with an index.html file? Brackets also does not read PHP and I would have to run it from a server with the host name url (something I also don't know how to do).
To execute php files, you have to use a local web server as Billy points out. On Windows and Mac you can use XAMPP to do so, on Linux you should prefer setting up a LAMP-Server (Tutorial).
After you installed your webserver you have to save your files under the server's document root. You can find it at the place where you installed XAMPP under the folder /htdocs (the place on Linux varies, on the latest Ubuntu flavors it should point to /var/www/html) You have to move all the files there. Now, you can open those files in your web browser by opening localhost/your-folder/index.php.
Edit your PHP files as you'd normally do in Brackets, it can handle PHP files. To use the Live Preview feature you have to go to File → Project Settings and enter your path with localhost here (don't add the file name, Brackets will do that for you) e.g. http://localhost/your-folder and you should be all set and running.
You can use live editor to edit your php file such as https://c9.io/ and its one installation is free and that's how you can upload your files: https://docs.c9.io/discuss/5582d455ea39a93900224238 . Just start custom php project and make it private.

Local xampp wordpress installation - cannot find wp-blog-header.php

I'm working locally with XAMPP and Wordpress and I'm struggling with what is probably a very basic config issue. I'm not a professional IT guy, just a hobbyist hacker so I apologise in advance if I'm being a bit dumb but hopefully somebody can kindly offer some assistance here.
I've installed xampp locally on my iMac. I've then installed wordpress using the xampp wordpress installation package. Both seem to be working fine. To test the web server I created a simple .php test file and this generated the expected output when I entered "localhost/hello.php" into my browser. As far as wordpress is concerned entering "localhost/wordpress" gives me access the local wp interface to create and edit posts, change display settings etc etc. So far so good...
Now I want to create a new .php file that includes the instruction:
require('XXX/wp-blog-header.php')
where the "XXX" is obviously the relevant directory path for the wp header file.
I cannot find this file, or indeed local wordpress files, anywhere (and I've searched extensively). In the "home" location for "localhost" (which I know from my "hello.php" test) there isn't even a wordpress directory so I'm totally puzzled as to how typing "localhost/wordpress" in my browser is accessing the local wp installation or how to go about determining the correct directory path for the wp header file I'm looking for?
I do understand that with this stack a great deal of info will either be generated on the fly, or stored in the local mysql database as opposed to the file structure, but I thought I would find some reference or alias somewhere to help me trace this through and determine what path to include in my .php file for wp-blog-header.php.
I've searched this forum and while there are several related questions I haven't found anything that helps me with this particular issue.
Thanks vm,
Ian
The location of your Wordpress files is:
/Applications/XAMPP/xamppfiles/apps/wordpress
Ok I found the path I needed and (partially) understand why I couldn't locate it. As Scriptonomy helped me identify the Wordpress files are held at:
/Applications/XAMPP/xamppfiles/apps/wordpress
While my test.php file is held at:
/Applications/XAMPP/xamppfiles/htdocs/test.php
The reason I couldn't locate either wp-blog-header.php or wp-load.php is because these there is an another "htdocs" sub-dir under the wordpress install location i.e.:
../apps/wordpress/htdocs
However I (as user "admin") don't have access to read this directory and so couldn't see the contents and therefore couldn't find the files. The permissions on the directory belong to "daemon" which I guess was the XAMPP installer package? Setting the directory path in my test.php file to:
../apps/wordpress/htdocs/wp-load.php
somehow the web server (?) can read the file (even though I can't see it myself via the Finder application) and so the code is now giving the expected result.
So problem solved even if I don't quite understand the solution!
Thanks for replies which helped me eventually get to a solution!
Cheers,
Ian

Apache write permissions ( Drupal module unable to write/create css/js files)

I'm using a Drupal module called 'Code Per Node'. It allows basically what the name describes: custom code in the form of JS or CSS on a per node basis. Upon publishing the node, the module writes the css and js to a file specified in the module's configuration settings.
In development, I have the directory set to /cpn, I've temporarily made the permissions for that folder 0777 just to cover all angles.
The problem is, I've moved the site to a staging server and something about the environment is restricting the module from writing the CSS and JS files. it returns a 'The file could not be created' error upon publishing.
I've tried: Setting open permissions and moving directory inside of /sites/default, no dice.
Is there anything else I should look at that would prevent this module from writing these files? Perhaps an Apache config setting?
As a side note, I would much prefer the custom code be generated inline on the page, so if anyone knows any actively supported modules that accomplish this, that would also be much appreciated.
Thanks
Problem was that the tmp directory for Drupal was still set to a local path.

userfunctions.php why I can't add this file in Typo3 fileadmin/

I am following a tutorial how to create modern templates using typo3.the website with the tutorial
I am instructed to add a php file under the in fileadmin/userfunctions.php, but for some reason Typo3 says that this file is not allowed>
The red error is more than enought to answer your question
php extension is not allowed to upload. Just add the file manualy to the directory. By clickng to the folder nat via web panel
It is sometimes because of BE allowed file extension.
Go to TYPO3 Backend
Install Tool All Configuration
[textfile_ext] -> check this input box whether php, php3, phtml are
listed in this box or not. If no, include them.

Dreamweaver CS5.5 Dynamically Related Files

I'm trying to use Dreamweaver with an existing code base (not WP, Drupal, or Joomla!) in a PHP/MySQL site. I continue to receive "Dynamically related files could not be found because of an internal server error." I've been googling all day and have read plenty of WP-specific solutions, including the thread on this site. I've tried all the methods listed, no luck.
Setup Info
MAMP 2.0.1
Mac OS X 10.6.8
Dreamweaver CS 5.5
Site's local address: /Users/myName/Sites/siteName
Testing server address: /Applications/MAMP/htdocs/siteName
Attempted solutions:
1) added library to site root (/Users/myName/Sites/siteName/library)
2) added library to MAMP root (/Applications/MAMP/library)
3) added include path for both locations to applied php.ini listed in phpinfo
4) set Dreamweaver to use Site Root paths instead of page-relative paths
5) switched back to page relative paths
6) Restart MAMP, reset ports in Preferences to 8888/8889, or 80/3306
7) checked site info to make sure paths are correctly defined
When I insert the following code, or any require function with a relative path, live view and preview in browser display empty pages.
<?php require_once('includes/initialize.php'); ?>
I'm incredibly frustrated. I had been using XAMPP and a plain text editor for previous work and never had an issue with relative paths. Any help would be appreciated.
Answering my own question; bad form, I'm aware.
EDIT:
Adding to previous list of attempted solutions:
8) tried designating the server ports as 8888/8889 and defining server route as http://localhost:8889/mySite/, like setting up a Drupal/WP/Joomla! testing environment.
9) Uninstalled/Reinstalled MAMP, Dreamweaver, disabled the out-of-the-box Apache server included with OS X, the redefined the site in Dreamweaver.
Fix attempt 8 led to packet error discussed here. Fix attempt 9, plus error reporting that hadn't been working, but did now:
// Report all PHP errors (see changelog)
error_reporting(E_ALL);
showed that the testing server was using the local definition to refer to dynamically related files and, even though that should work, it wasn't working.
After reinstall, created new site with "Site > Manage Sites" and defined Local Site Folder in "Site" menu and the Server Folder in the "Server" Menu as the same directory. (/Applications/MAMP/htdocs/mySite)
Refer to the Setup info in the OP to see my system variables; this may be specific to any/all settings. But only identical local definition and server definition solved the problem. I've recreated previous settings to be sure, and different local/server definitions don't work.
This error can happen with Dreamweaver and PHP sites if the contents of the included file make additional dynamic calls using PHP syntax that Dreamweaver doesn't recognize. Without seeing the contents of initialize.php, I can't be 100% sure this is the case but I am pretty sure that DW is not able to parse the code there and figure out what files to get for display.
Problem Dynamically related files that I see a lot of people run into:
Dreamweaver is scanning whatever is in you Local Copy, it should be a the full installation of WordPress. If you're working locally, download everything on your "Testing server" to your "Local view" in the Files panel.
If you're working with two sets of files, your local copy and what is in MAMP's htdocs or on your "Testing server" should be nearly identical, except for what you're working on of coarse. That's the problem I see people have.
If you're working in kind of "pho-FTP" environment.

Categories